when i am trying to get the basic devise examples running with current git versions from rails, mongomapper and devise, i have the following error appearing:
undefined method `to_key' for #<Admin:0x23dee04>
here is my actual source:
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
@ad开发者_如何学运维min is the currently logged in user (@admin= current_admin) the same error occurs when trying to use @admin=Admin.first in the controller
i am not quite sure if this is a mongomapper problem, might also be rails3 related... thanks for any pointers...
the same happens if i am using the erb equivalent, see
<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %>
<% end %>
here is the full error output: http://pastie.org/871850
I have submitted a patch to MongoMapper here:
http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07
ok, here is a fix:
1 fix in the model
def to_key
self.keys.to_a
end
2 fix in the view
<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
<%= f.text_field :sign_in_count %>
<% end %>
both will work. still it's not clear to me if this is a rails or mongomapper issue, but for anyone else running into this, here is a workaround.
精彩评论