我的Rails项目中有5到10级深度模型层次结构。 示例(这不是实际的层次结构)
(has_many)
-- Project
-- SubProject
-- Blog
-- Post
-- Comment
-- Rating
每个项目都有很多子项目,其中有很多博客,其中有很多帖子,等等。
因此,在实践中,我希望能够(例如)查看特定博客的所有帖子,查看特定评论的所有评级,等等。但我绝不想放弃早期层次结构级别的上下文(例如Project)。
基本上,解决方案似乎是
resource :projects do
resource :sub_projects do
resource :blogs do
resource posts do
resource :comments do
resource :ratings do
# might go even deeper...
end
end
end
end
end
end
所以我可以选择例如项目/ 2 / sub_projects / 3 /博客/ 1 /帖/ 5 /评论/ 2 /评分
有更好的解决方案吗? 除了丑陋的路线之外,我认为使用像
这样的路径会很痛苦new_project_sub_project_blog_post_comment_rating_path(@project, @sub_project, @blog, @post, @comment, @rating)