0

最近,我遇到了一个问题。

我想使用 Json 表单在 Ruby on Rails 中传输模型信息。原始功能将仅封装此模型中的所有属性。但是这个模型有一个子模型。由 has_many 定义链接。

如果我需要 to_json 函数可以将子模型属性封装在里面。我可以做什么?

4

2 回答 2

2

例如,您可以采用另一种方法并使用JSON 构建器。或者只是覆盖to_json要更改默认行为的模型的方法。

于 2012-05-07T13:17:07.887 回答
0

要在 ActiveRecord 模型的 JSON 中包含/排除属性,请覆盖该as_json方法。

def as_json(opts)
  super(opts).merge(
    "other_1" => "Some value",
    "other_2" => self.get_other_value
  )
end

调用 super 将允许您包含所有属性的标准 JSON,然后合并其他属性。或者只是为属性构造一个哈希。

于 2016-01-06T13:56:05.230 回答