has_one有多对多的表架构

时间:2016-04-12 13:59:10

标签: ruby-on-rails activerecord

是否可以在通过多对多表连接的表之间建立has_one关系?默认情况下,它会对子表中缺少的foreign_key引发异常。

仅作为一个例子:

class Car < ActiveRecord::Base
  has_and_belongs_to_many :roads_travelled, class_name: 'Road'
  has_one :last_road_travelled, {order{travelled_at.desc}.limit(1)}, class_name: 'Road'
end

1 个答案:

答案 0 :(得分:1)

您可以使用实例方法而不是关系:

def last_road_travelled
  roads_travelled.order(travelled_at: :desc).first
end