前提・実現したいこと
データ編集ページで空データを送信した時に、エラーメッセージを表示したいです
発生している問題・エラーメッセージ
Title,Bodyにデータを入力し送信した場合は、編集成功し詳細画面にリダイレクトされます。
しかし、空データ(空欄)で送信を行うと、
というエラーが表示されます。
該当のソースコード
books_controller.rb
def edit @book=Book.find(params[:id]) end def update book=Book.find(params[:id]) if book.update(book_params) flash[:notice]="Book was successfully updated." redirect_to book_path(book.id) else @book=Book.new render :edit end end
edit.html.erb
<html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="books.scss"> <title>show</title> </head> <body> <h1>Editing Book</h1> <% if @book.errors.any? %> <div class="error-message"> <div class="error-title"><%= @book.errors.count %> errors prohibited this book from being saved:</div> <ul> <div class="error-list"> <% @book.errors.full_messages.each do |message| %> <li><%= message %></li> <% end %> </div> </ul> </div> <% end %> <%= form_with model: @book,url: update_list_path(@book.id),method: :patch do |f| %> <div class="field"> <label for="book_title">Title</label> <%= f.text_field :title %> </div> <div class="field"> <label for="book_body">Body</label> <%= f.text_area :body %> </div> <div class="actions"> <%= f.submit "Update Book" %> </div> <% end %> <%= link_to"Show",book_path(@book.id),class:"link" %> | <%= link_to"Back",books_path,class:"link" %> </body> </html>
どなたか回答よろしくお願いします。
まだ回答がついていません
会員登録して回答してみよう