私はherokuを使ってクイズアプリを実行しています。ビューでIDでモデルを注文する方法は?
class Question
belongs_to :quiz
end
class Answer
belongs_to :question
end
だから私はこのようなものを使用してクイズを生成します。
<% @questions.each do |question| %>
// put questions here
<% question.answers.each do |answer| %>
// put answers here.
<% end #answer.each do %>
<% end #questions.each do %>
それは@questionsを注文するのは簡単です。私のコントローラでは私が持っている:
@quiz = Quiz.find(params[:id])
@questions = @quiz.questions.order(:id)
私は疑問が自分のIDの順に表示されていることを確認することができますので、ちょうどorder(:id)
を使用します。私は答えを同じように注文する方法を理解できません。
@answers = @questions.answers.order(:id)
ルビーが私がどの質問を使用しているのかわからないので、動作しません。 Quiz
モデルではhas_many :answers, through: :questions
を使用できません。すべての質問に対してすべての回答が表示されるからです。
question.answers.order(:id).each
のように私の視点で答えを並べ替えたいのですが、これを行うと何も起こりません(多分Arrayにはorderメソッドがないので)何をすればよいですか?
答えが実際にどのようにソートされるべきか分かりません。より詳細な情報を提供できますか(おそらく潜在的な価値と期待される成果を共有することさえありますか?)。 –
モデルにデフォルトスコープを追加してIDで注文することができ、レールはすべてのクエリにそれを追加する必要があります。 – Doon