Я пришел из Grails, и я новичок в Ruby-on-Rails.
Итак, я узнал, что когда вы создаете form_for с таким символом, как: user ("key"), когда отправляетеparams [] получает новый ключ с «: user» и соответствующее значение из него:
<% 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...