mongomapper,rails3 edge:form_for上的未定义方法`to_key'

时间:2010-03-16 09:08:49

标签: ruby-on-rails ruby-on-rails-3 mongomapper devise

当我试图使用rails,mongomapper和devise的当前git版本运行基本设计示例时,我出现以下错误:

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

这是我的实际来源:

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是当前登录的用户(@ admin = current_admin) 尝试使用@ admin = Admin.first时出现相同的错误 控制器

我不太确定这是否是一个mongomapper问题,也可能是 rails3相关... 谢谢你的任何指示...

如果我使用erb等效项,也会发生同样的情况,请参阅

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

这是完整的错误输出:http://pastie.org/871850

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

好的,这是一个修复:

1修复了模型

def to_key
  self.keys.to_a
end

2修复了视图

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

两者都有效。我仍然不清楚这是一个rails或mongomapper问题,但对于遇到此问题的其他人来说,这是一个解决方法。