【问题标题】:make url_for preserve scope使 url_for 保留范围
【发布时间】:2013-04-03 13:47:29
【问题描述】:

在我的 Rails 应用程序中,我需要为某些资源定义两条不同的路线。我正在尝试使用 scope 来设置范围和非范围路由。因此我定义:

   scope path: '(:prefix)', :prefix => /my/ do
     resources :users
   end

现在可以通过/my/users/:id/users/:id paths 联系我的用户。

问题是我需要 URL 帮助程序来提供正确的路径,具体取决于我用来访问页面的路径。当我使用/my/users/:id 打开页面时,我需要链接到/my/users/:id/edit,当我打开/users/:id 时,我需要链接到/users/:id/edit。更重要的是,我需要正确工作的表格,使用 url_for 助手来确定正确的操作。对于上述配置url_for @user 生成/25/users/25(当@user.id == 25 时)。

问题是如何使url_for 保留用于到达页面的范围?

或者也许您可以建议不同的解决方案以允许不同的 URL 到达某些资源并保留路径以进行直观的导航?

【问题讨论】:

    标签: ruby-on-rails routing scope helpers


    【解决方案1】:

    以下解决了我这边的问题:

    get '/some_path' => 'controller#action',  somevar: 'blah'
    scope path: '/my/' do
      get '/some_path' => 'controller#action', somevar:'blahblah'
    end
    

    似乎如果路由共享相同的变量,那么 url_for 使用它来区分歧义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2014-02-24
      • 2014-09-07
      • 1970-01-01
      相关资源
      最近更新 更多