2

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

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

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

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

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

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

4

1 回答 1

0

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

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

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

于 2015-09-16T10:12:07.363 回答