我有三个模型:Question,User和Qrecord。 Qrecord 存储用户正确回答问题的次数(在 :answer 列中)以及上次回答问题的时间(在 :last_answered 列中)。
因此,一个问题has_many Qrecords和一个用户has_many Qrecords。一个 Qrecord belongs_to :user 和 :question。
Q记录模型
id :integer not null, primary key
user_id :integer
question_id :integer
answered :integer
last_answered :datetime
对于一系列问题,如何返回 :last_answered 是最长时间的问题?
假设问题数组questions
并且用户记录user
:
user.qrecords.where(question_id: questions.pluck(:id)).order(:last_answered).last.question