gpt4 book ai didi

ruby-on-rails - Rails 模型到递归 json

转载 作者:数据小太阳 更新时间:2023-10-29 08:20:47 26 4
gpt4 key购买 nike

我有一个菜单模型,它有相同类型的子菜单。像这样的东西:

  • 一级
    • 1.1级
    • 1.2级
  • 2级
    • 2.1级
    • ...

因此,我需要一种方法以递归方式将所有级别包含在我的 json 中。

最佳答案

Rails 中的 JSON 通过两种方法工作:

as_json 负责创建对象的哈希表示,而 to_json 将该哈希对象表示转换为 JSON。

所以您需要做的是在您的模型中定义 as_json 方法以包含您想要的内容。

def as_json
{
:other_options => value,
:submenu => self.submenus.collect { |n| n.as_json }
}
end

这是一个非常粗糙的实现,但它会递归地访问所有子菜单(因为子菜单本身就是菜单)并将它们呈现为哈希,然后再转换为 JSON。

关于ruby-on-rails - Rails 模型到递归 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13029049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com