レストランクチコミサイトを作ろうとしています。
レストランページからReviewを投稿できるようにしたいのですが
undefined local variable or method `review_create_path'
とエラーが出て投稿できません。
以下ViewとRoute定義とControllerですが、何が問題なのでしょうか?
/app/views/restaurant/show.html.slim
ruby
1 = form_for :post, url: review_create_path do |f| 2 = f.label :title, "title" 3 = f.text_field :title 4 = f.label :comment, "comment" 5 = f.text_area :comment 6 = f.submit 7
route.rbはこちらです。
ruby
1 # Locale Information 2scope "(:locale)", locale: /en|ja/ do 3 get '/' => 'frontpage#index' 4 get 'restaurant/' => 'restaurant#index' 5 get 'restaurant/:id' => 'restaurant#show' 6 get 'menu/' => 'menu#index' 7 get 'menu/:id' => 'menu#show' 8 get 'area/' => 'area#index' 9 get 'area/:id' => 'area#show' 10 11 resources(:review) 12 post 'review/' => 'review#create', as: :review_create_path 13 14 devise_for :users, skip: [:omniauth_callbacks] 15 16end 17
rake routesの結果はこうでした。
ruby
1 review_index GET (/:locale)/review(.:format) review#index {:locale=>/en|ja/} 2 POST (/:locale)/review(.:format) review#create {:locale=>/en|ja/} 3 new_review GET (/:locale)/review/new(.:format) review#new {:locale=>/en|ja/} 4 edit_review GET (/:locale)/review/:id/edit(.:format) review#edit {:locale=>/en|ja/} 5 review GET (/:locale)/review/:id(.:format) review#show {:locale=>/en|ja/} 6 PATCH (/:locale)/review/:id(.:format) review#update {:locale=>/en|ja/} 7 PUT (/:locale)/review/:id(.:format) review#update {:locale=>/en|ja/} 8 DELETE (/:locale)/review/:id(.:format) review#destroy {:locale=>/en|ja/} 9 review_create_path POST (/:locale)/review(.:format) review#create {:locale=>/en|ja/}
こちらはコントローラーです。
ruby
1class ReviewController < ApplicationController 2 def create 3 @review = Review.new(review_params) 4 respond_to do |format| 5 if @review.save 6 format.html { redirect_to @review, notice: 'Review was successfully created.' } 7 format.json { render :show, status: :created, location: @review } 8 else 9 format.html { render :new } 10 format.json { render json: @review.errors, status: :unprocessable_entity } 11 end 12 end 13 end 14 15 def review_params 16 params.require(:review).permit(:title, :comment) 17 end 18end
初歩的ですみませんが、どうかよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/06 15:27
2016/07/06 15:40
2016/07/06 15:46
2016/07/06 17:07
2016/07/06 23:50
2016/07/07 02:35
2016/07/07 05:50
2016/07/07 23:48
2016/07/08 00:35
2016/07/08 01:17
2016/07/08 11:49
2016/07/08 11:53
2016/07/08 12:23
2016/07/08 12:27
2016/07/08 12:31