【问题标题】:Custom routes in RailsRails 中的自定义路线
【发布时间】:2009-07-24 17:57:31
【问题描述】:

我正在尝试在我的网站上创建一些不错的链接。我刚才正在通过标签创建搜索,我想知道是否可以创建一些像这样的不错的路线:

http://myapp.com/search/a_very
http://myapp.com/search/nice_set
http://myapp.com/search/of_tags

或者至少是这样的:

http://myapp.com/articles/search/a_very
http://myapp.com/articles/search/nice_set
http://myapp.com/articles/search/of_tags

我用 link_for 做了一些实验,发现不可能避免 action?parameter=value 构造。我还试图避免地址中的任何“数字内容”,例如在操作之间发送 id 等。无论如何,我只是一个初学者,我完全不知道我应该挖掘哪个方向。

应该是一些路由魔法吧?如何将这种魔力应用到我的示例中?我是否违反了“配置约定”范式?

【问题讨论】:

    标签: ruby-on-rails ruby routes


    【解决方案1】:

    这应该不需要太多的“魔法”;这是一种非常标准的路线。你可以这样做(在 routes.rb 中)

    map.tag_search "search/:tags", :controller => "tags", :action => "search"
    

    以上假设您有一个带有搜索操作的标签控制器。在该操作中,您的 URL 的结尾将在 params[:tags] 中可用。

    我建议阅读Rails Guide on Routing - 它涵盖了这种情况以及许多其他情况。

    【讨论】:

      【解决方案2】:

      Rails 3 具有更新的语法。

      match 'search/:tags' => 'tags#search' :as => 'tag_search'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        相关资源
        最近更新 更多