Ruby on rails 修改rails中的管线
我是rails的新用户,所以理解Ruby on rails 修改rails中的管线,ruby-on-rails,routes,Ruby On Rails,Routes,我是rails的新用户,所以理解routes.rb的工作原理很复杂!所以我尝试修改一条路线,我得到了一条如下所示的路径: user/:id/edit但我不希望该id出现在路径中 我尝试使用这种方法: get '/users/:id/edit', to: 'users#edit', as: 'users/edit' 但这并没有改变什么。在我的routes.rb中,我得到了: resources :users, only: [:create, :new, :show, :edit] 有人知道怎
routes.rb
的工作原理很复杂!所以我尝试修改一条路线,我得到了一条如下所示的路径:
user/:id/edit
但我不希望该id出现在路径中
我尝试使用这种方法:
get '/users/:id/edit', to: 'users#edit', as: 'users/edit'
但这并没有改变什么。在我的routes.rb中,我得到了:
resources :users, only: [:create, :new, :show, :edit]
有人知道怎么做吗?我已经看了如果你已经看了指南,你读过吗
有时,您有一个资源,客户机总是在没有它的情况下查找它
引用ID。例如,您希望/profile始终显示
当前登录用户的配置文件在这种情况下,您可以使用
将/profile(而不是/profile/:id)映射到
显示操作:
在应用程序中创建六条不同的路由,所有路由都映射到Geocoders控制器:
GET /geocoder/new geocoders#new return an HTML form for creating the geocoder
POST /geocoder geocoders#create create the new geocoder
GET /geocoder geocoders#show display the one and only geocoder resource
GET /geocoder/edit geocoders#edit return an HTML form for editing the geocoder
PATCH/PUT /geocoder geocoders#update update the one and only geocoder resource
DELETE /geocoder geocoders#destroy delete the geocoder resource
如果你已经看了指南,你读到了吗
有时,您有一个资源,客户机总是在没有它的情况下查找它
引用ID。例如,您希望/profile始终显示
当前登录用户的配置文件在这种情况下,您可以使用
将/profile(而不是/profile/:id)映射到
显示操作:
在应用程序中创建六条不同的路由,所有路由都映射到Geocoders控制器:
GET /geocoder/new geocoders#new return an HTML form for creating the geocoder
POST /geocoder geocoders#create create the new geocoder
GET /geocoder geocoders#show display the one and only geocoder resource
GET /geocoder/edit geocoders#edit return an HTML form for editing the geocoder
PATCH/PUT /geocoder geocoders#update update the one and only geocoder resource
DELETE /geocoder geocoders#destroy delete the geocoder resource
如果你有
resources :users
现在按如下方式改变这条路线
get '/users/edit', to: 'users#edit', as: 'users_edit'
现在,在视图文件中,您有编辑链接
,将链接更改为
<%= link_to 'Edit', users_edit_path(:id => user.id) %>
就这样,您已经完成了自定义路线,现在路线将是users/edit,而不是users/:id/edit
resources :users
现在按如下方式改变这条路线
get '/users/edit', to: 'users#edit', as: 'users_edit'
现在,在视图文件中,您有编辑链接
,将链接更改为
<%= link_to 'Edit', users_edit_path(:id => user.id) %>
就这样,您已经完成了自定义路由,现在路由将是users/edit而不是users/:id/edit
任何您不希望显示用户id的特定原因。如果你有很多用户,它会让你的应用程序更加RESTful,你可以进行验证,这样用户只能编辑自己的帐户。你能不能也把你的routes.rb的代码写出来。还有,当你说它不会改变什么,你这是什么意思?你是遇到了一个特别的错误还是路线保持不变?@AlexanderSwann Singular resources非常安静。啊,好吧!很高兴知道,谢谢!您不希望出现用户id的任何特定原因。如果你有很多用户,它会让你的应用程序更加RESTful,你可以进行验证,这样用户只能编辑自己的帐户。你能不能也把你的routes.rb的代码写出来。还有,当你说它不会改变什么,你这是什么意思?你是遇到了一个特别的错误还是路线保持不变?@AlexanderSwann Singular resources非常安静。啊,好吧!很高兴知道,谢谢!非常感谢。我修改了我的routes.rb添加了资源地理编码器并修改了我的路由,如下所示:get'/users',to::show,controller:'users',但我遇到了一个错误,没有与[get]“/users/1/edit”匹配的路由,所以我的程序试图找到旧路径,我如何更改它?@Malus change the*\u path
helper。谢谢!我修改了我的routes.rb添加资源地理编码器并修改了我的路由,如下所示:get'/users',to::show,controller:'users',但我遇到了一个错误,没有与[get]“/users/1/edit”匹配的路由,所以我的程序试图找到旧路径,我如何更改它?@Malus change the*\u path
helper。