【问题标题】:Is it possible to have file-system-like routes with acts_as_tree?是否可以使用acts_as_tree 拥有类似文件系统的路由?
【发布时间】:2010-12-14 08:04:51
【问题描述】:

我有一个Folder 模型acts_as_tree

路由是否可能代表文件夹结构?

文件夹:

1: Folder A
  2: Folder B
  3: Folder C
    4: Folder D
5: Folder E

路线:

/folders/1
/folders/1/2
/folders/1/3/4
/folders/1/2/new
/folders/...

这可能吗?

【问题讨论】:

    标签: ruby-on-rails routes acts-as-tree


    【解决方案1】:

    据我所知,没有简单的方法可以做到这一点。

    我认为最好的方法是使用一组命名路由。

    我没有对此进行测试,因此无法保证,但即使失败,它也会给你一些提示。

    map.my_new_folder '/folders/:ancestors/:id/new', :controller => "folders",
     :action => "new", :ancestors => /^(\d+\/?)*$/
    map.my_show_folder, '/folders/:ancestors/:id', :controller => "folders",
     :action => "show", :ancestors => /^(\d+\/?)*$/
    map.my_edit_folder '/folders/:ancestors/:id/edit', :controller => "folders",
     :action => "edit", :ancestors => /^(\d+\/?)*$/
    ...
    

    您必须自己形成祖先字符串并将其作为选项传递给 my_x_folder_path。但是你应该得到你想要的漂亮的网址。您可能最好将其提取到一个助手中,该助手还可以根据祖先的存在动态选择资源路径或命名路由路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      • 2018-11-17
      • 2011-02-12
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 2020-08-28
      相关资源
      最近更新 更多