Railsのaction_nameメソッドの挙動についてです。
validationエラーを起こすとaction_nameは取ってこれない
新規作成の時だけpasswordの入力フォームを表示させたくてaction_nameメソッドをviewで使ったら、validationエラー時にpasswordのフォームが表示されなくなりました。
<% if action_name == 'new' %> <%= f.password_field :password, class: 'form-control', id: 'password' %> <%= f.password_field :password_confirmation, class: 'form-control', id: 'password_confirmation' %> <% end %>
new_record?を使おう
action_nameなんて使わずにnew_record?を使えばOKです。
<% if @user.new_record? %> <%= f.password_field :password, class: 'form-control', id: 'password' %> <%= f.password_field :password_confirmation, class: 'form-control', id: 'password_confirmation' %> <% end %>
コメントを残す