as_json未在关联导轨4上调用as_json

时间:2018-07-05 13:13:24

标签: ruby-on-rails

我有一个模型User,其中has_one :bank 我为两个模型都覆盖了as_json,在User模型中,我这样做了

class User < ActiveRecord::Base
  [...]

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

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

任何想法如何使这项工作有效吗?

谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-1)

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

$("#mygrid").kendoGrid({
dataSource: data,
columns:[
{
  field: "Column 1",
  title: "Column 1",
  footerTemplate: "#= <div>Totals A</div><div>Totals B</div> #"
},
{
  field: "Column 2",
  title: "Column 2",
  footerTemplate: "#= <div>$1000</div><div>$700</div> #"
}
]

要全局执行此操作,请将其添加到User.last.as_json(include: :bank) 模型中:

User