我來自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