現在、入力フォームを作っております。
新規作成→確認画面→完了画面
という流れなのですが、入力内容のバリデーションを確認画面に行く前(新規作成のsubmitボタンをクリックした段階で)に表示させる方法がわかりません。
厳密には、バリデーションはかかるのですが、メッセージの表示ができません
modelに記載するvalidatesはデータベースに保存するか否かの判断に使うから、まだ確認画面の時点ではそもそもバリデーションの判断がつかないのかなと推測しますが、そうだったとしたらどうやってconfirmの時点で判断すればいいのでしょうか?
model/post.rb
validates :text, presence: true
post_controller.rb
def confirm(post:) @post = Post.new(post) unless @post.save redirect_to action: :new end end
view/post/new.html.erb
<% if @post.errors.any? %> <div id="error_explanation" class="alert alert-danger"> <ul> <% @post.errors.full_messages.each do |message| %> <li><%= message %></li> <% end %> </ul> </div> <% end %>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/26 09:15
退会済みユーザー
2018/06/27 00:08