2010-03-16 7 views
0

, когда я пытаюсь получить основные примеры DEViSE работы с текущими версиями GIT с рельсов, mongomapper и завещать, я следующее сообщение об ошибке появляется:mongomapper, rails3 край: неопределенный метод `to_key» на form_for

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 является в настоящее время вошли в систему пользователя (@ админ = current_admin) та же ошибка возникает при попытке использовать @ админ = Admin.first в контроллер

я не совсем уверен, если это проблема mongomapper, также может быть rails3 связаны ... спасибо за любые указатели ...

то же самое происходит, если я использую Еврорадио эквивалент см

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

здесь полный вывод ошибок: http://pastie.org/871850

+0

вот нить я начал на группу Google mongomapper: http://groups.google.com/group/mongomapper/browse_thread/thread/3525e90db4149706? Pli = 1 – z3cko

+0

ok, дополнительная информация по этой теме после некоторых исследований: to_key от ActiveModel см. Http://github.com/rails/rails/commits/master/activerecord/lib/active_record/attribute_methods /primary_key.rb Обсуждались некоторые люди в authlogic. Я думаю, что это может быть интересно читать: «В ActiveModel есть некоторые изменения в обработке первичных ключей. Они изменили ключ на to_key». http://github.com/binarylogic/authlogic/issues/issue/101/#comment_142986 – z3cko

ответ

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 %> 

оба будут работать. мне все еще не ясно, если это проблема с рельсами или mongomapper, но для всех, кто работает в этом, вот обходной путь.

+0

ОК, как указано в fred ниже, мой патч на самом деле путается, и его путь -;) спасибо! – z3cko