代码之家  ›  专栏  ›  技术社区  ›  Josh Crews

为使用行为树的页面创建嵌套路由

  •  1
  • Josh Crews  · 技术社区  · 15 年前

    我有一个1代深度的页面模型。我怎么走我的路线

    关于

    /关于/领导

    /关于/愿景和使命

    /接触

    /加入

    加入/收益

    工作?

    弹头来自友好的插件,并且都是独一无二的。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Vlad Zloteanu    15 年前

    在路线的终点:

      map.with_options :controller => 'pages' do |pages|
        pages.show_page                ':id',              :action  => 'show'
        pages.show_page_with_parent    ':id/:parent_id',   :action  => 'show'
      end
    

    如果你想生成一个链接到它:

    show_page_with_parent_path(:id => page.name, :parent_id => page.parent.name)
    

    当然,假设slug键是名称。

    当然,您可以使用一个助手函数进一步自定义此解决方案:

    如:

    def custom_show_page_path(page)
      if page.parent.nil?
        show_page_path(:id => page.name)
      else
        show_page_with_parent_path(:id => page.name, :parent_id => page.parent.name)
      end
    end