【发布时间】:2016-07-01 12:29:07
【问题描述】:
如何告诉 ActiveRecord 从属于特定AdTemplate 的所有Canvases 中获取所有links?我已经为它创建了一个canvases_links 方法,但也许 ActiveRecord 有一些开箱即用的关联方法?
class AdTemplate < ActiveRecord::Base
has_many :canvas
def canvases_links
canvas.includes(:links).map do |canva|
canva.links
end.flatten
end
end
class Canva < ActiveRecord::Base
belongs_to :ad_template
has_many :links
has_many :close_areas
end
class Link < ActiveRecord::Base
belongs_to :canva
end
a = AdTemplate.find(1)
a.canvases_links # works okay
a.active_record_magic_method_links # must return the same data as a.canvases_links method :)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 activerecord rails-activerecord