前提
以下の点で悩んでおります。(当方rails初心者です)
読んだ本の感想を投稿するサイトを練習中
投稿の編集時の未入力のエラーメッセージを作成中です。
しかし、エラーメッセージが表示されず、元の編集画面に戻ってしまいます。
正常に動かしたいです。
お忙しいかとは存じますが、よろしくお願いいたします。
実現したいこと
編集時のバリデーションを動作させたい。
発生している問題・エラーメッセージ
記事を空白に編集してもエラーメッセージが表示されず、編集画面に戻ってしまいます。
該当のソースコード
【HTML】
<h1>Editing Book</h1><% if @book.errors.any? %>
<%= book.errors.count %>件のエラーが発生しました
<%= form_with model: @book, url: update_book_path(@book.id), method: :patch do |f| %>
<h4>Title</h4> <%= f.text_field :title %> <h4>Body</h4> <%= f.text_area :body %><br><%= f.submit 'Update Book' %>
<br><%= link_to "Show", book_path(@book.id) %><
<%= link_to "Back", '/books' %>
<% end %>
【コントローラ】
def edit
@book = Book.find(params[:id])
end
def update
@book = Book.find(params[:id])
book = Book.find(params[:id])
if book.update(book_params)
flash[:notice] = "Book was successfully updated."
redirect_to book_path(book.id)
else
render :edit
end
end
【モデル】
class Book < ApplicationRecord
validates :title, presence: true
validates :body, presence: true
end
試したこと
バリデーションに関しての検索
スペルチェック
コントローラのrenderのURLの変更
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/15 10:46