以下是我的故事: 我试图将Deal和Task与has_many关联在一起,但问题在于它们仅通过第三个表中的字段关联TasksTask其中Deal ID隐藏在序列化PHP数组,这样我就可以根据交易的ID一样,得到这样的价值:为了创建has_many关联而伪装ActiveRecord :: Base descendent属性
PHP.serialize["D_#{Deal.instance.id}"]
虽然任务和TasksTask通过外键,这是很好的和简单的整数
对于相互关联现在我用Task.where(blabla)的自定义方法抓取任务,但因为我没有一个关联我不能用'包括'方法批量抓取,并且我得到了很多飞行请求,而且很伤心。
我已经试过finder_sql参数,试过lambdas和特效,但他们不工作的原因对我来说(如果我把它传递给'条件'它结束与'在哪里......和[lambda条件] “试图使用DEAL_ID因为我没有对优惠外键) 我也在想伪造那个奇怪的领域作为一个属性上交易 有:
attr_accessor :STRANGE_FIELD_NAME
def after_initialize
@STRANGE_FIELD = PHP.serialize["D_#{self.id}"]
end
,也试过元编程魔术,而是ActiveRecord已经使用了很多,简单的respond_to和method_missing根本没有任何帮助,除非在Deal的实例中调用accessor方法时给我这个疯狂的价值。
我正在做所有这些奇怪的事情,因为试图建立一个系统在另一个顶部,这没有正常的API,但用了很多,现在似乎不可避免。这也是悲哀。
所以,问题是我可以伪造它在某种程度上还是我需要创建第四台与正常外键的优惠和同步不知何故(的cron如果这将是我的老板或SQL确定触发)
任何意见将不胜感激。 :-)