У меня есть следующий link_to:
new_vendor_review_path (@vendor)
Это приведет меня к uRL:
domain.com / vendors / vendor_id / reviews / new
Я получаю следующую ошибку:
undefined method `reviews_path' for #<#<Class:0xb6f01ca0>:0xb6eff658>
Extracted source (around line #1):
1: <% semantic_form_for [@vendor, @review] do |f| %>
2: <%= f.inputs %>
3: <%= f.buttons %>
4:
Контроллер для обзора:
4 def new
15 @vendor = Vendor.find_using_slug(params[:vendor_id])
16 @review = @vendor.reviews.build
17 @review.user_id = current_user.id if user_signed_in?
18 end
19
20 def create
21 @vendor = Vendor.find(@review.vendor_id)
22 @review = @vendor.reviews.build(params[:review])
23 if @review.save
24 flash[:notice] = "Successfully created review."
25 redirect_to @review
26 else
27 render :action => 'new'
28 end
29 end
Review.rb (модель):
1 class Review < ActiveRecord::Base
2 attr_accessible :title, :summary, :vendor_id, :user_id, :tag_list, :competitor_list
3 is_sluggable :title
4 acts_as_voteable
5 acts_as_commentable
6
7 validates :title, :presence => true, :length => {:minimum => 10, :maximum => 50}
8 validates :user_id, :presence => true
9
10 belongs_to :user
11 belongs_to :vendor
Вот из моих маршрутов. 1018
2 devise_for :users
3
4 match 'reviews/vote_up' => 'reviews#vote_up'
5
6 resources :users
7 resources :reviews
8
9 resources :vendors do
10 resources :reviews, :shallow => true
11 end