2010-03-16 35 views
0

未定義的方法`TO_KEY」當我試圖讓與導軌,mongomapper並制定當前的Git版本上運行的基本色器件的例子,我有以下錯誤出現:mongomapper,Rails3中邊緣:上的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在 控制器

0123時出現

我不太清楚,如果這是一個mongomapper問題,也可能是 Rails3中有關... 感謝任何指針...

如果我使用的ERB相當於同樣的情況,請參閱

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

這裏是完整的錯誤輸出:http://pastie.org/871850

+0

這裏是我開始對谷歌mongomapper組線程:http://groups.google.com/group/mongomapper/browse_thread/thread/3525e90db4149706?pli = 1 – z3cko 2010-03-16 12:46:36

+0

好吧,經過一番調查後,關於該主題的更多信息如下: 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 2010-03-16 13:37:34

回答

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

沒問題,因爲我的補丁實際上是bollocks,而且他的路要走;)謝謝! – z3cko 2010-03-18 13:16:49