前提・実現したいこと
ruby on railsにてレビューアプリを作成しています。
実際にレビューを投稿しようとした所エラーが発生してしまいました。
発生している問題・エラーメッセージ
ActionController::ParameterMissing in ReviewsController#create param is missing or the value is empty: reviews def review_params params.require(:reviews).permit(:image,:title,:category_id,:detail,:directer,:starring,:rate).merge(user_id: current_user.id) end end Request Parameters: {"authenticity_token"=>"RWNML9Q12eoFIxKEna58FQnzDVFZDM402ph1KneafH7FHpX8thCt7AucnnmrFxoYmqN7HWwzivAHlcErBDQ9WA==", "image"=> #<ActionDispatch::Http::UploadedFile:0x00007fe042bce740 @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"image\"; filename=\"no_image.jpeg\"\r\n" + "Content-Type: image/jpeg\r\n", @original_filename="no_image.jpeg", @tempfile=#<File:/var/folders/ff/b5bwglv53152xq7gvm40wtvr0000gp/T/RackMultipart20210912-14159-1iximnq.jpeg>>, "title"=>"a", "detail"=>"a", "category_id"=>"2", "director"=>"a", "starring"=>"a", "rate"=>"", "post"=>{"rate"=>"3"}, "commit"=>"レビューを投稿する"}
該当のソースコード
ruby
1class ReviewsController < ApplicationController 2 3 def index 4 @reviews = Review.all 5 end 6 7 def new 8 @reviews = Review.new 9 end 10 11 def create 12 @reviews = Review.new(review_params) 13 if @reviews.save 14 redirect_to root_path 15 else 16 render :index 17 end 18 end 19 20 21 private 22 23 def redirect_root 24 redirect_to root_path unless current_user.id == @reviews.user_id 25 end 26 27 def review_params 28 params.require(:reviews).permit(:image,:title,:category_id,:detail,:directer,:starring,:rate).merge(user_id: current_user.id) 29 end 30 31end 32
new
1<div class="review-contents"> 2 <header class="review-header"> 3 <%= link_to image_tag('movie-logo.png' , size: '185x50'), "/" %> 4 </header> 5 <div class="review-main"> 6 <h2 class="review-title">映画の情報を入力</h2> 7 <%= form_with(model: @review, local: true ) do |f| %> 8 9 <%# 映画画像 %> 10 <div class="img-upload"> 11 <div class="weight-bold-text"> 12 映画画像 13 <span class="indispensable">必須</span> 14 </div> 15 <div class="click-upload"> 16 <p> 17 クリックしてファイルをアップロード 18 </p> 19 <%= f.file_field :image, id:"review-image" %> 20 21 </div> 22 </div> 23 <%# /映画画像 %> 24 <%# 映画名と説明 %> 25 <div class="new-review"> 26 <div class="weight-bold-text"> 27 映画タイトル 28 <span class="indispensable">必須</span> 29 </div> 30 <%= f.text_area :title, class:"review-text", id:"review-name", placeholder:"映画タイトル(必須 40文字まで)", maxlength:"40" %> 31 <div class="review-explain"> 32 <div class="weight-bold-text"> 33 映画の評価 34 <span class="indispensable">必須</span> 35 </div> 36 <%= f.text_area :detail, class:"review-text", id:"item-info", placeholder:"映画の評価(必須 1,000文字まで)(映画内容、演出、良かった点、悪かった点など)" ,rows:"7" ,maxlength:"1000" %> 37 </div> 38 </div> 39 <%# /映画名と映画説明 %> 40 41 <%# 映画の詳細 %> 42 <div class="review-detail"> 43 <div class="weight-bold-text">映画の詳細</div> 44 <div class="form"> 45 <div class="weight-bold-text"> 46 映画のジャンル 47 <span class="indispensable">必須</span> 48 </div> 49 <%= f.collection_select(:category_id, Category.all, :id, :name, {}, {class:"select-box", id:"item_category"}) %> 50 <div class="weight-bold-text"> 51 監督名 52 <span class="indispensable">必須</span> 53 </div> 54 <%= f.text_area :director, class:"review-text", id:"review-name", placeholder:"監督名", maxlength:"40" %> 55 <div class="weight-bold-text"> 56 主演俳優、主演女優 57 <span class="indispensable">必須</span> 58 </div> 59 <%= f.text_area :starring, class:"review-text", id:"review-name", placeholder:"主演俳優、主演女優", maxlength:"40" %> 60 61 <div class="field" id="star"> 62 63 <%= f.label :rate, "星評価:" %> 64 <%= f.hidden_field :rate, id: :review_star %> 65 <script> 66 $('#star').raty({ 67 size : 36, 68 starOff: '<%= asset_path('star-off.png') %>', 69 starOn : '<%= asset_path('star-on.png') %>', 70 starHalf: '<%= asset_path('star-half.png') %>', 71 scoreName: 'post[rate]', <%# rateカラムへの保存 %> 72 half: true, <%# 星半分の入力 %> 73 }); 74 </script> 75 </div> 76 </div> 77 </div> 78 <%# /商品の詳細 %> 79 80 81 <%# 下部ボタン %> 82 <div class="review-contents"> 83 <%= f.submit "レビューを投稿する", class:"review-btn" %> 84 <%=link_to 'もどる', root_path, class:"back-btn" %> 85 </div> 86 <%# /下部ボタン %> 87 </div> 88 <% end %> 89 </div> 90</div>
試したこと
カラムに必要事項がないかと思い確認しましたが、全て存在していました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー