【问题标题】:customization for nested routes in rails 3Rails 3中嵌套路由的自定义
【发布时间】:2012-08-09 10:30:21
【问题描述】:

我在我的应用程序(rails 3.2)中使用嵌套路由,如下所示:

resources :networks do
  resources :groups
end

群展页面路径如下

network_group GET    /networks/:network_id/groups/:id(.:format)

如何将参数分别更改为 :network_name 和 :group_name ?另外,我想将路由重命名为 group_path (而不是 network_group_path )。我希望这些更改反映在所有路线上,而不必对各个路线使用“匹配”。

是否有可能有类似 group_path(@network, @group) return '/networks/global/groups/all' 的东西,其中 'global' 和 'all' 都是各自模型的 'name' 属性。 (默认情况下,我在 url 中获取 id)

【问题讨论】:

    标签: ruby-on-rails url-routing ruby-on-rails-3.2


    【解决方案1】:

    我们可以通过在我们的模型中添加一个 to_param 方法来做到这一点

    http://railscasts.com/episodes/63-model-name-in-url

    在您的网络和组模型中,添加一个 #to_param 方法,该方法在 URL 中返回您想要的内容(network_name、group_name)。

    或者你可以使用友好的 id gem 来提供漂亮的 url。

    【讨论】:

      【解决方案2】:

      您可以使用friendly_id gem。 https://github.com/norman/friendly_id

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-22
        • 1970-01-01
        • 2011-09-07
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 2011-05-23
        相关资源
        最近更新 更多