【发布时间】:2016-12-08 16:53:45
【问题描述】:
关系如下。
Client -> has_many :analytics
Client -> has_many :metrics, through: :analytics
Analytic -> has_many :metrics
现在我不能简单地做一个Client.find(1).analytics.where(condition).metrics,因为我收到了这个错误:
undefined method `metrics' for #<Analytic::ActiveRecord_AssociationRelation:0x00000002e31a50>
我发现我可以做的事情如下,但它看起来很笨重,而且不像导轨那样:
analytics = client.analytics.where(conditions).select(:id)
metrics = Metric.where(analytic_id: analytics)
有没有办法像我上面描述的那样以更明智的方式将它们链接在一起?
【问题讨论】:
标签: ruby-on-rails activerecord rails-activerecord has-many-through