gpt4 book ai didi

ruby-on-rails - 递归 Rails 嵌套资源

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

我有一个用于项目管理的 Rails 应用程序,其中包含项目和任务模型。一个项目可以有很多任务,但一个任务也可以有很多任务,无穷无尽。

使用嵌套资源,我们可以有/projects/1/tasks、/projects/1/tasks/new、/projects/1/tasks/3/edit 等。

但是,您如何以 REST 方式表示任务的递归性质?我不想再深入一点,所以也许可以执行以下操作:

map.resources :tasks do |t|
t.resources :tasks
end

这会给我以下网址:

/tasks/3/tasks/new   
/tasks/3/tasks/45/edit

或者当涉及到单个任务时,我可以使用/tasks/45/edit

这样的设计合理吗?

凸轮

最佳答案

超出单个嵌套路由的任何地方通常被认为是一个坏主意。

来自 The Rails Way 的第 108 页:

"Jamis Busk a very influential figure in the Rails community, almost as much as David himself. In February 2007, vis his blog, he basically told us that deep nesting was a _bad_ thing, and proposed the following rule of thumb: Resources should never be nested more than one level deep."

现在有些人会对此提出异议(在第 109 页讨论),但是当您谈论嵌套任务与任务时,它似乎没有多大意义。

我会以不同的方式处理您的解决方案,就像上面提到的那样,一个项目应该有很多任务,但是一个任务有很多任务似乎不正确,也许应该将这些重命名为子任务或类似的东西。

关于ruby-on-rails - 递归 Rails 嵌套资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174190/

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