いつもお世話になっております。
前提・実現したいこと
口コミサイトをrailsで作っています。
ローカル環境ではうまくいくのですが、なぜか本番環境(Heroku)でページの遷移エラーが発生してしまいます。口コミを投稿する際に発生するエラーです。
エラーメッセージ
ruby
1app[web.1]: Processing by ReviewsController#new as HTML 2app[web.1]: Parameters: {"area_slag"=>"A013", "id"=>"459"} 3app[web.1]: Review Load (1.3ms) SELECT "reviews".* FROM "reviews" WHERE "reviews"."id" = $1 ORDER BY "reviews"."created_at" DESC LIMIT $2 [["id", 459], ["LIMIT", 1]] 4app[web.1]: Completed 404 Not Found in 4ms (ActiveRecord: 1.3ms) 5app[web.1]: ActiveRecord::RecordNotFound (Couldn't find Review with 'id'=459): 6app[web.1]: app/controllers/reviews_controller.rb:49:in `set_review'
##該当するソースコード
ビュー
ruby
1 <div class="container"> 2 <%= f.hidden_field :space_id, value: @review.space.id %> 3 <div class="post-rate"> 4 <!-- ここにStar Rateが入ります --> 5 <div class="form-group"> 6 <label for="rate">評価</label> 7 <%= f.select :rate, {'1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5,}, class: "form-control" %> 8 </div> 9 </div> 10 <div class="post-contents"> 11 <!-- ここにReview内容が入ります --> 12 <div class="form-group"> 13 <label for="textarea">口コミを入力</label> 14 <%= f.text_area :content, class: "form-control", placeholder: "口コミ内容", rows: "5" %> 15 </div> 16 </div> 17 <div class="post-photo"> 18 <label for="textarea">画像を投稿</label> 19 <%= f.fields_for :review_image do |review_image| %> 20 <%= review_image.file_field :image %> 21 <% end %> 22 </div> 23 <div class="post-btn"> 24 <%= f.submit "投稿する", class: "button-review" %> 25 </div> 26 <% end %> 27 </div> 28 </div>
reviews_controller.rb
ruby
1class ReviewsController < ApplicationController 2 before_action :set_review, only:[:new, :show, :edit, :update, :destroy] 3 4 def create 5 @review = current_user.reviews.create(create_params) 6 if @review.save 7 flash[:success] = "口コミが投稿されました!" 8 redirect_to root_path 9 else 10 flash[:alert] = "口コミの投稿に失敗しました。" 11 redirect_to root_path 12 end 13 end 14 15 def update 16 if @review.update_attributes(create_params) 17 flash[:success] = "口コミが更新されました" 18 redirect_to @review 19 else 20 render 'edit' 21 end 22 end 23 24 def new 25 if signed_in? 26 @post = current_user.reviews.build 27 @post.build_review_image 28 end 29 end 30 31 def destroy 32 @review.destroy 33 flash[:success] = "口コミが削除されました" 34 redirect_to request.referrer || root_url 35 end 36 37 def edit 38 end 39 40 private 41 42 def set_review 43 @review = Review.find(params[:id]) 44 end 45 46 def create_params 47 params.require(:review).permit(:id, :content, :rate, :title, :space_id, :user_id, review_image_attributes: [:image]) 48 end 49 50 def correct_user 51 @review = current_user.reviews.find_by(id: params[:id]) 52 redirect_to root_url if @review.nil? 53 end 54end
すみませんが、どうかおたすけください(汗)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/24 14:12