woodman0224
@woodman0224 (林 正)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

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

1Answer

Your answer might help someone💌