我在两个模型之间有一个 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 是 adate
而 EventLog 上的 start_at 是 a datetime
。所以它返回 nil 试图匹配一个简单日期的确切日期时间。
如何在第二个语句上强制转换 foreign_key start_at 以首先将其从 datetime 转换为简单的 date 以便它匹配第二个模型?