当我试图使用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
答案 0 :(得分:2)
我在这里向MongoMapper提交了一个补丁:
http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07
答案 1 :(得分:1)
好的,这是一个修复:
def to_key
self.keys.to_a
end
<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
<%= f.text_field :sign_in_count %>
<% end %>
两者都有效。我仍然不清楚这是一个rails或mongomapper问题,但对于遇到此问题的其他人来说,这是一个解决方法。