【发布时间】:2013-07-02 22:25:01
【问题描述】:
我在两个模型之间有一个 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 试图匹配一个简单日期的确切日期时间。
如何在第二个语句上强制转换 foreign_key start_at 以首先将它从 datetime 转换为简单的 date 以便匹配第二个模型?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 associations has-many has-one