假设我有两个模型,答案和问题(还有其他模型,但与问题无关)。模型如下:
Answer.rb
class Answer < ActiveRecord::Base
attr_accessible :description, :question_id
has_one :question, :through => :user, :dependent => :destroy
validates :description, :presence => true
end
Question.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的所有答案?
答案 0 :(得分:1)
首先你需要一个question.answers
的路线,你可以用它来实现(在config / routes.rb中)
resources :questions
resources :answers
end
然后在你看来你可以做到
<% @questionshow.answers.each do |answer| %>
<% end %>
答案 1 :(得分:0)
应该是
@findanswers = Question.find(params[:question_id]).answers
但您必须确定“问题ID”是否由params[:id]
或params[:question_id]