【问题标题】:as_json not calling as_json on associations rails 4as_json 没有在关联 rails 4 上调用 as_json
【发布时间】:2018-07-05 13:13:24
【问题描述】:

我有一个模型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。

知道如何进行这项工作吗?

谢谢

【问题讨论】:

  • {include[:bank]} 看起来像一个无效的Hash

标签: ruby-on-rails


【解决方案1】:

您不应覆盖to_jsonas_json。而是覆盖这两种方法都使用的serializable_hash

【讨论】:

    【解决方案2】:

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

    User.last.as_json(include: :bank)
    

    要在全局范围内执行此操作,请将其添加到 User 模型:

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

    【讨论】:

    • 了解投反对票的原因会很有帮助。我很乐意改进我的答案,否则,删除它。
    猜你喜欢
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 2011-12-02
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多