class User < ApplicationRecord
has_many :buckets, -> { order(ranked_row: :asc) }
delegate :incomes, :fixed_costs, :financial_goals, to: :buckets
...
end
我有铲斗,这是STI的。如果我将该范围添加到has_many,我的页面将永远记录9条记录,并且似乎正在加载应该缓存的内容
如果删除范围,一切都很好
知道has_many的范围如何影响STI? ranking_row有一个索引,但无论如何都是一样的。我正在使用active_model_serializers,但我不确定是否存在相关性。
更新
绝对是active_model_serializers的东西。 ActiveModel::SerializableResource.new(user)
在控制器中,并且在控制台中陷入困境。我删除了序列化程序中的所有内容,并调用了作用域has_many。我会点击github。
代码的
https://gist.github.com/dudo/f25767f00c874842a005
这是我可以解决问题的最小代码。同样,它在没有has_many范围的情况下工作正常,它也适用于从Bucket中删除percent_complete
方法...该方法看起来不太讨厌。什么可能在included_transactions
方法中,当范围存在时将其带入爬行?
答案 0 :(得分:1)
将范围添加到has_many时,您需要显式声明inverse_of
。