2009-11-30 3 views
0

Vous avez à peu près la configuration de l'application Authlogic example. Je suis en obtenant l'erreur suivante lorsque je clique sur le lien enregistré. D'un point de vue générique, je ne peux pas vraiment voir comment la vue "form.label: confirm_password" est supportée pour s'exécuter sans soulever un problème, notant que ce champ n'existe pas dans la table User de la base de données?méthode undefined `confirm_password '- cela implique-t-il que AuthLogic ne se déclenche pas pour ma requête?

Q1 - Comment AuthLogic est-il supposé arrêter ce formulaire "confirm_password" pas pour être renvoyé directement au mode? Q2 - Des idées sur ce qui ne va pas dans mon cas ci-dessous et comment y remédier? Comment Rails gère généralement ignorer un champ de type "confirm_password" dans un formulaire lors du traitement, de la façon dont il est requis (a) à l'étape du contrôleur mais (b) non requis à l'étape backend active_record.

ActionView::TemplateError (undefined method `confirm_password' for 
#<User:0x2703fbc>) on line #8 of app/views/users/_form.erb: 
5: <%= form.password_field :password %><br /> 
6: <br /> 
7: <%= form.label :confirm_password%><br /> 
8: <%= form.password_field :confirm_password %><br /> 
9: <br /> 

/opt/local/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/attribute_methods.rb:260:in `method_missing' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:835:in `send' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:835:in `value_before_type_cast' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:823:in `value_before_type_cast' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:744:in `to_input_field_tag' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:557:in `password_field' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:943:in `send' 
/opt/local/lib/ruby/gems/1.8/gems/actionpack-2.3.3/lib/action_view/ 
helpers/form_helper.rb:943:in `password_field' 
/Users/greg/Dropbox/source/myapp/app/views/users/_form.erb:8:in 
`_run_erb_app47views47users47_form46erb_locals_form_object' 
/Users/greg/Dropbox/source/myapp/app/views/users/new.html.erb:5:in 
`_run_erb_app47views47users47new46html46erb' 
/Users/greg/Dropbox/source/myapp/app/views/users/new.html.erb:3:in 
`_run_erb_app47views47users47new46html46erb' 

macintosh-2:myapp greg$ find . -name *.rb | xargs grep -i confirm_password 
./app/controllers/application_controller.rb: 
filter_parameter_logging :password, :confirm_password 

Cordialement

Répondre

0

devait changer pour ": password_confirmation" et cela a fonctionné - était une chose AuthLogic ....

+0

'password_confirmation' est ce qu'on appelle un "attribut virtuel" dans ActiveRecord. Il n'y a pas de champ correspondant dans le db. –

Questions connexes