Ruby on rails 设置用于修改配置文件的路由
我正在尝试了解如何设置新路由,但是我选择的方法不起作用,它只显示了一个“No route matches[GET]”/users/18/settings“” 我想做的是创建一个/settings,它将显示用户在注册页面/users/new上输入的所有信息,并显示在/users/ID/edit上 routes.rb:Ruby on rails 设置用于修改配置文件的路由,ruby-on-rails,routes,Ruby On Rails,Routes,我正在尝试了解如何设置新路由,但是我选择的方法不起作用,它只显示了一个“No route matches[GET]”/users/18/settings“” 我想做的是创建一个/settings,它将显示用户在注册页面/users/new上输入的所有信息,并显示在/users/ID/edit上 routes.rb: Dating::Application.routes.draw do get 'signup' => 'users#new' get 'login' => 's
Dating::Application.routes.draw do
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
get 'logout' => 'sessions#destroy'
get 'edit' => 'users#edit'
get "/profile/:id" => "users#show"
get "profile/:id/settings" => 'users#edit'
get 'settings', on: :member
match 'settings' => 'users#settings'
resources :users do
resources :sessions
resources :password_resets
resources :galleries
resources :photos
root to: 'users#new'
root to: 'galleries#index'
结束
结束
耙道:
设置_userget/users/:id/settings(:format)users#设置
获取/用户(:格式)用户#索引
发布/用户(:格式)用户#创建
获取/用户/新建(:格式)用户#新建
GET/users/:id/edit(:format)users#edit
GET/users/:id(:format)users#show
PUT/users/:id(:format)用户#更新
删除/用户/:id(:格式)用户#销毁
root/用户#新
编辑会话获取/会话/:id/编辑(:格式)会话#编辑
session GET/sessions/:id(:format)sessions#show
PUT/sessions/:id(:format)sessions#update
删除/sessions/:id(:format)sessions#销毁尝试
resources :users do
get 'settings', on: :member
end
对于/users/18/设置及
对于/settings.您是否可以执行
get'settings'=>“settings#which”
或resources:settings
。不确定我是否正确理解了你的问题。请你,提供rake路由的输出
?如果他们只想将其映射到get
请求,他们也可以执行get
而不是match
。在使用资源执行get“设置”时提供未初始化的常量UserController错误:users do。@pwz2000是否确定在路由文件?另外,关于match
行,Sergey写道,如果控制器是复数的(意思是称为UsersController),那么控制器/动作映射应该是users#settings
。@pwz2000 OK我看到了您的编辑。我觉得你有点搞混了,语法方面。将get'settings',放在::member
行的资源下面:users do
,后面应该是end
。我编辑了谢尔盖的答案,加入了更明显的间距。希望这能让事情变得更清楚。@pwz2000是的,您需要让URL接受一个ID参数。因此,您的匹配线看起来类似于match'settings/:id
。
resources :users do
get 'settings', on: :member
end
match 'settings' => 'users#settings'