我来自Grails,我是Ruby on Rails的新手。发送输入到params
所以,我知道,当你创建一个像一个符号的form_for:用户(“键”),submited当PARAMS []收到一个新的关键“:用户”,并从它的相应值:
<% form_for :user do |form| %>
<fieldset>
<legend>Password</legend>
<label for="current_password"> Current password:</label>
<%= form.password_field :current_password %>
<br>
<label for="password"> New password:</label>
<%= form.password_field :password %>
<br>
<label for="password_confirmation"> Confirm password:</label>
<%= form.password_field :password_confirmation %>
<br>
</fieldset>
<%= submit_tag "Update", :class => "submit" %>
<% end %>
params [:user => {:current_password => 123,:password => 321,:password_confirmation => 321}],对不对?
嗯,问题是,Rails不明白:current_password和:password_confirmation,我不知道问题是关于模型用户没有这些属性,只有名称,密码和电子邮件。
错误:未定义的方法`password_confirmation =”#为
有另一种方式来解决它,而无需创建两个符号的attr_accessor?我只想使用一个简单的密钥在里面的动作,如:
if params[:user].password = params[:user].password_confirmation
do something...
在Rails最受欢迎的书中,他们使用attr_accessor进行密码确认。无论如何,在将其传递给模型更新方法之前,您总是可以从哈希中删除该密钥。 – 2010-09-04 19:35:45