mongomapper, rails3 Kante: undefined Verfahren `to_key‘ auf form_for
-
20-09-2019 - |
Frage
, wenn ich versuche, die grundlegenden devise Beispiele zu bekommen läuft mit aktuellen git Versionen von Schienen, mongomapper und devise, ich habe die folgende Fehlermeldung erscheint:
undefined method `to_key' for #<Admin:0x23dee04>
Hier ist meine eigentliche Quelle:
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 wird der aktuell angemeldete Benutzer (@ admin = current_admin) der gleiche Fehler tritt auf, wenn Admin zu verwenden versuchen, @ = Admin.first in der Controller
Ich bin nicht ganz sicher, ob dies ein mongomapper Problem ist, könnte auch sein, rails3 im Zusammenhang ... Dank für alle Hinweise ...
das gleiche passiert, wenn ich das erb äquivalent verwenden, siehe
<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %>
<% end %>
Hier ist der vollständige Fehlerausgang: http://pastie.org/871850
Lösung
Ich habe einen Patch MongoMapper vorgelegt hier:
http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07
Andere Tipps
ok, hier ist ein fix:
1 fix im Modell
def to_key
self.keys.to_a
end
2 fix in der Ansicht
<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
<%= f.text_field :sign_in_count %>
<% end %>
beide arbeiten. noch ist es mir nicht klar, ob dies ein Schienen oder mongomapper Problem ist, sondern auch für alle anderen in dieser ausgeführt wird, ist hier eine Abhilfe.