Pergunta

Quando estou tentando colocar os exemplos básicos de invenção executados com as versões Git atuais de Rails, Mongomapper e Devise, tenho o seguinte erro aparecendo:

undefined method `to_key' for #<Admin:0x23dee04> 

Aqui está minha fonte real:

4: = form_for @admin, :url => admins_path do |f| 
5:   - field_set_tag 'Update my email' do 
6:     %p= f.text_field :email 
7:     %p= error_message_on @admin, :email 

@admin é o usuário atualmente conectado ( @admin = current_admin) O mesmo erro ocorre ao tentar usar @admin = admin.first no controlador

Não tenho certeza se esse é um problema de Mongomapper, também pode estar relacionado a Rails3 ... obrigado por qualquer indicação ...

O mesmo acontece se estou usando o equivalente ERB, veja

<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %> 
<% end %>

Aqui está a saída de erro completo: http://pastie.org/871850

Foi útil?

Outras dicas

Ok, aqui está uma correção:

1 Corrija no modelo

def to_key
  self.keys.to_a
end

2 Corrija na vista

<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
    <%= f.text_field :sign_in_count %>
<% end %>

Ambos funcionarão. Ainda assim, não está claro para mim se isso é um problema de trilhos ou mangumia, mas para qualquer outra pessoa que se deparar com isso, aqui está uma solução alternativa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top