[英]Rails 4: devise custom routes
我想要一個“帳戶設置”頁面,用於編輯名稱和密碼,以及一個“個人資料編輯”頁面,用於更新個人資料圖片和個人信息。 用戶編輯的默認設計路徑為“ / edit”,但我想將其設置為“ / users /:id / account”。 我還想使配置文件編輯頁面的路徑為'/ users /:id / edit_profile'。 按照devise Wiki上的說明,我能夠更改注冊和登錄路徑,但是它似乎不適用於其他人。
配置/ routes.rb中
devise_for :user, :path => '', :path_names => { :sign_in => "signin", :sign_up => "signup", :edit => "profile" }
resources :users, only: [:index, :show]
resources :projects
root 'static_pages#home'
match '/help', to: 'static_pages#help', via: 'get'
match '/about', to: 'static_pages#about', via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'
耙路
new_user_session GET /signin(.:format) devise/sessions#new
user_session POST /signin(.:format) devise/sessions#create
destroy_user_session DELETE /sign_out(.:format) devise/sessions#destroy
user_password POST /password(.:format) devise/passwords#create
new_user_password GET /password/new(.:format) devise/passwords#new
edit_user_password GET /password/edit(.:format) devise/passwords#edit
PATCH /password(.:format) devise/passwords#update
PUT /password(.:format) devise/passwords#update
cancel_user_registration GET /cancel(.:format) devise/registrations#cancel
user_registration POST / devise/registrations#create
new_user_registration GET /signup(.:format) devise/registrations#new
edit_user_registration GET /edit(.:format) devise/registrations#edit
PATCH / devise/registrations#update
PUT / devise/registrations#update
DELETE / devise/registrations#destroy
users GET /users(.:format) users#index
user GET /users/:id(.:format) users#show
projects GET /projects(.:format) projects#index
POST /projects(.:format) projects#create
new_project GET /projects/new(.:format) projects#new
edit_project GET /projects/:id/edit(.:format) projects#edit
project GET /projects/:id(.:format) projects#show
PATCH /projects/:id(.:format) projects#update
PUT /projects/:id(.:format) projects#update
DELETE /projects/:id(.:format) projects#destroy
root GET / static_pages#home
help GET /help(.:format) static_pages#help
about GET /about(.:format) static_pages#about
contact GET /contact(.:format) static_pages#contact
謝謝!
我想將其設置為'/ users /:id / account'
您為什么不執行以下操作:
#config/routes.rb
resources :users, path_names: { edit: "account" } do
get :edit_profile #-> I presume you have an "edit_profile" controller action?
end
這將為您提供以下路線:
domain.com/users/:id/account #-> edit
domain.com/users/:id/edit_profile #-> edit_profile
-
Devise文檔建議您不能直接使用Devise
編輯user
對象-更多用於定義系統的authentication
系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.