2017-12-19 8 views
-1

私は、ユーザーが多数のクイズを持ち、クイズには多数のユーザーを持つことができるアプリを開発しています。私は関係を設定している:Rails 5の関係からhas_manyの結合モデルのフィールドを参照する方法

class User < ApplicationRecord 
     has_many :studies 
     has_many :quizzes, through: :studies 
    end 
    class Quiz < ApplicationRecord 
     has_many :studies 
     has_many :users, through: :studies 
    end 
    class Study < ApplicationRecord 
     belongs_to :user 
     belongs_to :quiz 
    end 

私は、ユーザーがクイズに作られたスコアを保存するために研究テーブルのフィールドを持っていますが、私はフィールドにアクセスすることができません。 @ quiz.studies.scoreと@ quiz.study.scoreを試しましたが、Railsは未定義のメソッドを提供しています。どのように私はhas_manyしかし、関係の結合モデルのフィールドにアクセスするには?

答えて

1

@ quiz.studiesは研究のコレクションを返します。したがって、特定の研究のスコアを得るにはfirst, last, eachを使用しなければなりません。

これを試してみてください:

@quiz.studies.first.score 
関連する問題