この質問は、RoR クイズ アプリに関するものです。クイズの結果を表示して、正しい答えとユーザーの答えの両方を表示しようとしています。
したがって、私の見解では、各質問をループして、質問の回答とユーザーの回答を表示する必要があります。ただし、ユーザーの回答を正しくクエリする方法を見つけようとして苦労しています。
user_answer を照会するには、user_id = current_user.id である response_set が必要です。また、各ループをループする際に question_id を渡す必要があります。しかし、私はこれを達成する方法にこだわっています。
user_answer を correct_answer と一緒にビューに表示するにはどうすればよいですか?
私は3つのモデルを持っています:
Response_set
belongs_to :user
has_many :responses
Reponse
belongs_to :response_set
belongs_to :question
Question
has_many :responses
テーブル フィールド:
create_table :response_sets do |t|
t.integer :user_id
create_table :responses do |t|
t.integer :response_set_id
t.integer :question_id
t.integer :user_answer
create_table :questions do |t|
t.integer :correct_answer
コントローラ
@questions = Question.all
@user = current_user.id
表示 (質問をループするだけで、ユーザーの回答は表示されません)
<% @questions.each do |question| %>
<%= question.correct_answer %>
<% end %>