Rails:无法访问与答案相关的问题?

时间:2014-02-05 23:03:30

标签: ruby-on-rails

我收到此错误     未定义的方法`question_answers_path' 对于这行代码@ question.answers

我的答案属于问题,问题有很多答案,我已经添加了对答案的迁移     rails g migration add_question_id_to_answers question_id:integer

我刚刚运行了db:migrate,但无法弄清楚该方法未定义的原因。

CODE

我渲染<%= @ question.answers%并在我做的答案文件中

        <%= answer.answer%>     

我的回答迁移add_question_id看起来像这样

class AddQuestionIdToAnswer < ActiveRecord::Migration
  def change
    add_column :answers, :question_id, :integer
    add_index :answers, :question_id
  end
end

我的问题看起来像这样

class Question < ActiveRecord::Base
  has_many :answers
  attr_accessible :query, :text
  validates :query, presence: true
end

我的回答看起来像这样

class Answer < ActiveRecord::Base
  has_many :comments, dependent: :destroy
  belongs_to :question
  attr_accessible :anonymous, :answer, :commenter, :votes
end

1 个答案:

答案 0 :(得分:1)

您是否在config/routes.rb中定义了路线?具体来说,您是否在问题中嵌套了答案?

类似的东西:

resources :questions do
  resources :answers
end

您也可以从命令行尝试类似rake routes | grep answers的内容,以查看路由是否存在。

来源:http://guides.rubyonrails.org/routing.html