代码之家  ›  专栏  ›  技术社区  ›  Mike W

as_json在关联rails 4上不调用as_json

  •  0
  • Mike W  · 技术社区  · 6 年前

    我有一个模型 User 哪一个 has_one :bank 我重写了 as_json 对于两种型号和 用户 模特,我做这个

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

    问题是它没有在Bank类中将覆盖调用为json。

    知道怎么做吗?

    谢谢

    2 回复  |  直到 6 年前
        1
  •  0
  •   user229044 Sam Hogarth    6 年前

    你不应该重写 to_json as_json . 相反,重写 serializable_hash 这两种方法都使用哪一种。

        2
  •  -1
  •   Jagdeep Singh    6 年前

    您可以在结果中包含一个关联 as_json 具体如下:

    User.last.as_json(include: :bank)
    

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

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