Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:使用:path设置rails路由_Ruby On Rails_Ruby On Rails 3.2_Routes - Fatal编程技术网

Ruby on rails RubyonRails:使用:path设置rails路由

Ruby on rails RubyonRails:使用:path设置rails路由,ruby-on-rails,ruby-on-rails-3.2,routes,Ruby On Rails,Ruby On Rails 3.2,Routes,我有一些这样的路线: resources :users do member do get 'services', :path => 'services/edit', :defaults => { :servicable => 'user' } end end <%= link_to "Edit", edit_services_path %> 这允许我拥有localhost:3000/users/1/services/edit 我正在尝试为它添加动

我有一些这样的路线:

resources :users do
  member do
    get 'services', :path => 'services/edit', :defaults => { :servicable => 'user' }
  end
end
<%= link_to "Edit", edit_services_path %>
这允许我拥有
localhost:3000/users/1/services/edit

我正在尝试为它添加动态路径

我尝试添加
:as=>:编辑服务\u路径

get 'services', :path => 'services/edit', :defaults => { :servicable => 'user' }, :as => :edit_services_path
所以我可以试试这样的东西:

resources :users do
  member do
    get 'services', :path => 'services/edit', :defaults => { :servicable => 'user' }
  end
end
<%= link_to "Edit", edit_services_path %>

但它给了我错误

undefined local variable or method `edit_services_path' for #<#<Class:0x007f856fd5a970>:0x007f856ff18690>
未定义的局部变量或方法“编辑服务路径”#
如果我正在自定义路径,我尝试搜索添加新路径的正确方法,但没有任何运气


感谢使用您指定的方法确实会生成动态路径,而不是您尝试使用的路径。它产生:

services_user GET    /users/:id/services/edit(.:format)                users#services {:servicable=>"user"}
添加
:as
选项将创建:

edit_services_path_user GET    /users/:id/services/edit(.:format)                users#services {:servicable=>"user"}

这有点让人困惑,因为通常路径中没有指定
path
,而是用作路由本身的助手(即
services\u user
路径将是
services\u user\u path
),因此如果命名对您来说很重要,可以对其进行优化,但它会生成动态路径,您也可以使用
rake routes
在更改内容时查看这些路由。

Ohhhh谢谢!!是的,我使用的是
rake routes
,但我找不到
services\u user
,直到你说了,我才找到,谢谢!