Rails エラーメッセージが表示されない
解決したいこと
Railsでバリテーションのエラーメッセージを表示したい
使用環境
Ruby 3.1.1
Rails 7.0.3
#users_controller.rb
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
redirect_to users_url, notice: "アカウント登録しました"
else
render 'new'
end
end
#new.html.erb
<%= form_with(model: @user, local: true) do |f| %>
<%= render 'layouts/error_messages', model: f.object %>
<div class="form-group">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
.
.
.
(略)
<% end %>
#layouts/_error_messages.html.erb
<% if model.errors.any? %>
<div class="error-alert">
<ul>
<% model.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
#user.rb
has_secure_password
validates :name, presence: true
validates :email, presence: true, uniqueness: true
validates :password, presence: true, length: { in: 8..20 }
validates :password_confirmation, presence: true
自分で試したこと
「エラーメッセージを表示する方法」と調べても他の方はこれで表示されてるみたいで、どうして自分のは表示されないのかがわかりません。
何が原因なのかも特定できていないので調べようもなく2時間経過してしまいましたので質問しました。
どなたかご教授ください🙇♂️
0