サインアップ時に電子メールについて以下を検証するユーザーモデルの行があります
validates :email, presence: true,
uniqueness: { case_sensitive: false },
length: { maximum: 254 }
エラーがある場合は、サインアップページ(「新規」)にエラーメッセージを表示します。コントローラー内:
if @user.save
redirect_to root_path
else
render 'new'
end
ビューで:
<% if @user.errors.any? %>
<div id="error_explanation">
<p><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</p>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
ただし、ユーザーが一意ではないメールアドレスを入力した場合は、新しいページにリダイレクトしたいと思います。これを行う方法はありますか?この特定のタイプのエラーに対して別のことを行うようにコントローラーを変更するにはどうすればよいですか?