前提・実現したいこと
データ編集ページで空データを送信した時に、エラーメッセージを表示したいです
発生している問題・エラーメッセージ
Title,Bodyにデータを入力し送信した場合は、編集成功し詳細画面にリダイレクトされます。
しかし、空データ(空欄)で送信を行うと、
というエラーが表示されます。
該当のソースコード
books_controller.rb
1 def edit 2 @book=Book.find(params[:id]) 3 end 4 5 def update 6 book=Book.find(params[:id]) 7 if book.update(book_params) 8 flash[:notice]="Book was successfully updated." 9 redirect_to book_path(book.id) 10 else 11 @book=Book.new 12 render :edit 13 end 14 end 15
edit.html.erb
1<html> 2 <head> 3 <meta charset="UTF-8"> 4 <link rel="stylesheet" href="books.scss"> 5 <title>show</title> 6 </head> 7 8 <body> 9 10 <h1>Editing Book</h1> 11 12 <% if @book.errors.any? %> 13 <div class="error-message"> 14 <div class="error-title"><%= @book.errors.count %> errors prohibited this book from being saved:</div> 15 <ul> 16 <div class="error-list"> 17 <% @book.errors.full_messages.each do |message| %> 18 <li><%= message %></li> 19 <% end %> 20 </div> 21 </ul> 22 </div> 23 <% end %> 24 25 <%= form_with model: @book,url: update_list_path(@book.id),method: :patch do |f| %> 26 <div class="field"> 27 <label for="book_title">Title</label> 28 <%= f.text_field :title %> 29 </div> 30 <div class="field"> 31 <label for="book_body">Body</label> 32 <%= f.text_area :body %> 33 </div> 34 <div class="actions"> 35 <%= f.submit "Update Book" %> 36 </div> 37 <% end %> 38 <%= link_to"Show",book_path(@book.id),class:"link" %> | <%= link_to"Back",books_path,class:"link" %> 39 40 </body> 41</html>
どなたか回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。