ActiveRecord覆盖has_many关系

时间:2017-11-29 09:57:03

标签: ruby-on-rails ruby-on-rails-4 activerecord

所以我试图在rails 4.2应用程序中覆盖关系has_many

我是Event的{​​{1}}模特。

has_many :picturables也可Event,此has_one :contactContact

我尝试实现的是,当我们致电has_many :picturables时,会返回event.picturables的{​​{1}}以及picturables的{​​{1}}。

我已尝试使用'扩展关联' :

Event

所以,当我Contact时,它会按我的意愿行事。但是,我想直接覆盖has_many :picturables, ->{ order(:position) }, as: :picturable, class_name: "Picturable", dependent: :delete_all do def <missing_name> event = proxy_association.owner event.contact.present? ? event.picturables + event.contact.picturables : event.picturables end def poney event = proxy_association.owner event.contact.present? ? event.picturables + event.contact.picturables : event.picturables end end

我尝试将方法命名为event.picturables.poneyevent.picturables,但它不起作用。

我希望以我尝试的方式实现,或者我需要声明一个正常的&#39;方法

你们能帮助我吗?

提前致谢

编辑:

我选择的解决方案:

我无法按照搜索的方式找到解决方案,所以我实现了另一个想法:

self

制作&#39;在哪里&#39;手工就是我们仍然有一个ActiveRecord:RelationProxy作为返回,因为当我创建event.picturables + event.contact.picturables它返回一个数组

0 个答案:

没有答案