2013-05-03 25 views
0

當我嘗試在我的Rails應用程序中訪問以下網址時出現錯誤。如何修復使用has_many的rails應用程序中未定義的方法錯誤?

http://localhost:3000/origtexts/1/reviews/new 

的routes.rb

resources :origtexts do 
    resources :reviews 
end 

它(1)正確地經過審查的帕拉姆,但我我得到的錯誤是在ReviewsController#新線未定義的方法`檢討」。

reviews_controller.rb

class ReviewsController < ApplicationController 
    before_filter :find_origtext 
    before_filter :find_review, :only => [:show, :edit, :update, :destroy] 

    def new 
     @review = @origtext.review.build 
    end 

    def show 
    end 

    def create 
     @review = @origtext.reviews.build(params[:review]) 
     if @review.save 
      flash[:notice] = 'Review has been created' 
      redirect_to [@origtext, @review] 
     else 
      flash[:alert] = 'Review has not been created' 
      render :action => 'new' 
     end 
    end 


    private 
    def find_origtext 
     @origtext = Origtext.find(params[:origtext_id]) 
    end 

    def find_review 
     @review = @origtext.reviews.find(params[:id]) 
    end 

end 

就如何解決這一問題有何建議?

回答

4

變化reviewreviews在這一行

@review = @origtext.review.build 

@review = @origtext.reviews.build 
相關問題