Rails4 - 在深层嵌套层次结构中维护上下文

时间:2014-11-28 14:26:43

标签: ruby-on-rails-4

我的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)

0 个答案:

没有答案