0

假设我有两个模型、答案和问题(还有其他模型,但与问题无关)。型号如下:

答案.rb

class Answer < ActiveRecord::Base
  attr_accessible :description, :question_id
  has_one :question, :through => :user, :dependent => :destroy
  validates :description, :presence => true
end

问题.rb

class Question < ActiveRecord::Base
  attr_accessible :budget, :description, :headline, :user_id, :updated_at, :created_at
  belongs_to :user
  has_many :answers
  validates :headline, :description, :user_id, :presence => true 
end

我想在页面上显示与问题相关的所有答案的列表,并且仅显示这些问题。

我走到这一步了。我相信这个变量通过 question_id(外键)找到数据库中的所有问题:

@findanswers = Answer.all(params[:question_id]) 

这个抓取当前问题的 id(此代码将作为 ERB 驻留在当前问题所在的页面上):

@questionshow = Question.find(params[:id])

现在我被困住了。如何将两者放在一起,以便列出所有带有当前问题 ID 的答案?

4

2 回答 2

1

首先,您需要一条question.answers可以实现的路线(在 config/routes.rb 中)

resources :questions
  resources :answers
end

然后在你看来你可以做

<% @questionshow.answers.each do |answer| %>

<% end %>
于 2012-10-09T21:22:02.963 回答
0

应该是

@findanswers = Question.find(params[:question_id]).answers

但您必须决定“问题 id”是否由params[:id]params[:question_id]

于 2012-10-09T21:17:00.490 回答