各モデルの外部キーと主キーの両方として日付を使用して、2 つのモデル間に has_many 関連付けがあります。
ある方法では完全に機能しますが、他の方法では機能しません。
作品
has_one :quiz_log, :primary_key => :start_at, :foreign_key => :start_at
動作しません
has_many :event_logs, :primary_key => :start_at, :foreign_key => :start_at
その理由は (私が思うに) QuizLog の start_at が で、date
EventLog の start_at が であるためdatetime
です。そのため、単純な日付で正確な日時と一致させようとして nil が返されます。
2番目のステートメントでforeign_key start_atをキャストして、最初にdatetimeから単にdateに変換して、2番目のモデルと一致させるにはどうすればよいですか?