2011-04-19 2 views
0

I가 다음 LINK_TO :Rails 3에서 중첩 된 리소스의 양식에 오류가 발생하는 이유는 무엇입니까?

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 

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 
+0

당신이 가고있는 URL은 HM, 404 페이지를 찾을 수 없습니다 말했다 있기 때문에 될 수 있을까요? – Bastardo

+0

귀하의 공급 업체 모델 내에'accepts_nested_attributes_for : reviews'가 있습니까? – brettish

+0

@brettish - 예, 할 수 있습니다 .... – Angela

답변

0

나에게 라우팅 오류처럼 보인다 내 routes.rb에서입니다. 오류는 메서드 reviews_path이 존재하지 않는다고 말합니다. 이 방법은 보통 resourceful routeroutes.rb에 추가하여 생성됩니다. 당신의 routes.rb에 추가

시도 :

resources :reviews 
+0

예, 해결되었지만 .... 리소스가 있습니다. 리뷰는 두 번, 명시된대로 하나, 중첩 된 것으로 ... 맞습니까? – Angela

+0

@Angela : 벤더 내부에'리뷰'가 있어야한다고 생각합니다. – htanata

+0

예, 가지고 있습니다 ...하지만 지금은 혼자 서 있습니다 - 맞습니까? – Angela

관련 문제