0

当我尝试在我的 rails 应用程序中访问以下 url 时出现错误。

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

路线.rb

resources :origtexts do
  resources :reviews
end

它正确地通过了审查 (1) 的参数,但我得到的错误是未定义的方法“审查”,用于 ReviewController#new 中的行。

评论控制器.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

1 回答 1

4

在此行更改reviewreviews

@review = @origtext.review.build

@review = @origtext.reviews.build
于 2013-05-03T15:04:46.513 回答