我有一个模型User
它has_one :bank
我已经覆盖了两个模型和User
模型中的as_json
,我这样做
class User < ActiveRecord::Base
[...]
def as_json(options = {})
super({include[:bank]}.merge(options))
end
end
问题是它不会调用 Bank 类中的覆盖as_json。
知道如何使这项工作吗?
谢谢
您不应该覆盖to_json
或as_json
。相反,请覆盖这两种方法都使用serializable_hash
。
您可以在as_json
的结果中包含关联,如下所示:
User.last.as_json(include: :bank)
若要全局执行此操作,请将以下内容添加到User
模型中:
def as_json(options = {})
super(options.merge(include: :bank))
end