代码之家  ›  专栏  ›  技术社区  ›  mark

rails restful路由-带嵌套的单索引

  •  0
  • mark  · 技术社区  · 15 年前

    我正在开发一个基于树数据结构的rails应用程序。因此,控制器的索引显示所述结构的根节点。演示可能更容易解释我想要什么:

    /place/1 == place
    

    我能平静地定义一下吗

    /place/1/photos == place/photos
    

    /place/1/photos/1 == place/photos/1
    

    等?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Max Williams    15 年前

    您可以使用常见的嵌套restful路由(最好将它们作为基线,并将它们用于非性感URL,如update、create等),然后为您的“漂亮”URL添加一些自定义路由:

    map.nested_photo "/place/photos/:id", :controller => "photos", :action => "show"
    map.edit_nested_photo "/place/photos/:id/edit", :controller => "photos", :action => "edit"
    

      if params[:place_id]
        @place = Place.find(params[:place_id])
      else 
        @place = @photo.place
      end
    

    在自定义url中要注意的主要一点是,不要与a)常规restful url或b)其他自定义url产生任何冲突。