as_json 不调用as_json 在关联轨道上 4.



我有一个模型Userhas_one :bank我已经覆盖了两个模型和User模型中的as_json,我这样做

class User < ActiveRecord::Base
[...]
def as_json(options = {})
super({include[:bank]}.merge(options))
end
end

问题是它不会调用 Bank 类中的覆盖as_json。

知道如何使这项工作吗?

谢谢

您不应该覆盖to_jsonas_json。相反,请覆盖这两种方法都使用serializable_hash

您可以在as_json的结果中包含关联,如下所示:

User.last.as_json(include: :bank)

若要全局执行此操作,请将以下内容添加到User模型中:

def as_json(options = {})
super(options.merge(include: :bank))
end

最新更新