MongoMapper, bord rails3: méthode non définie de to_key » sur form_for
-
20-09-2019 - |
Question
quand je suis en train d'obtenir les exemples CONCEVOIR de base en cours d'exécution avec les versions git actuelles de rails, mongomapper et mettre au point, j'ai l'erreur suivante apparaît:
undefined method `to_key' for #<Admin:0x23dee04>
ici est ma source réelle:
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 est l'utilisateur actuellement connecté (@ admin = current_admin) la même erreur se produit lorsque vous essayez d'utiliser @ admin = Admin.first dans la contrôleur
Je ne suis pas tout à fait sûr que ce soit un problème de mongomapper, pourrait aussi être rails3 liés ... merci pour tous les pointeurs ...
la même chose se produit si j'utilise l'équivalent Erb, voir
<%= form_for @admin, :url => { :action => "create" } do |fr| %>
<%= fr.text_field :sign_in_count %>
<% end %>
est ici la sortie d'erreur complète: http://pastie.org/871850
La solution
J'ai soumis un patch à mongomapper ici:
http://github.com/fredwu/mongomapper/commit/6e5e531312ef98c30e33286a1f80dd000468ed07
Autres conseils
ok, voici une solution:
1 correctif dans le modèle
def to_key
self.keys.to_a
end
2 fix dans la vue
<%= form_for :admin, @admin, :url => { :action => "create" } do |f| %>
<%= f.text_field :sign_in_count %>
<% end %>
les deux fonctionneront. encore ce n'est pas clair pour moi si cela est un problème ou rails mongomapper, mais pour tous ceux en cours d'exécution d'autre dans ce, est une solution ici.