0

Answers と Questions の 2 つのモデルがあるとします (他にもありますが、質問とは関係ありません)。モデルは次のとおりです。

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ですべての回答をリストするように、2つをまとめるにはどうすればよいですか?

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 に答える