mongomapper, rails3 edge: неопределенный метод `to_key 'в form_for - PullRequest
0 голосов
/ 16 марта 2010

, когда я пытаюсь получить базовые примеры разработки, работающие с текущими версиями git из rails, mongomapper и devise, появляется следующая ошибка:

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 связанные ... спасибо за любые указатели ...

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

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

Вот полный вывод ошибки: http://pastie.org/871850

Ответы [ 2 ]

2 голосов
/ 17 марта 2010

Я отправил патч в MongoMapper здесь:

http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07

1 голос
/ 16 марта 2010

хорошо, вот исправление:

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, но для всех, кто сталкивается с этим, есть обходной путь.

...