您好我想要一个具有
的网址users/edit
而不是当前的
users/7/edit
我有自己的基于omniauth的auth系统。因此,我将他们的user_id存储在会话中。我将如何完成这项任务?
答案 0 :(得分:3)
假设您使用current_user
,即使您正在使用其他内容,只需将current_user
替换为您的方法,我在此处使用current_user
,请按照以下步骤操作,
创建操作,我会在用户控制器中将其命名为edit_user
def edit_user
@user = current_user # or User.find(session[:user_id])
end
将路线添加到routes.rb
get "/users/edit" => "users#edit_user"
您已完成,您可以在应用程序的任何位置使用上述路线,您也可以根据需要命名路线。
或,如果您不想定义新操作并希望使用现有的edit
操作,请执行此操作
从默认的edit
路由中删除resources
的路由,然后手动定义它。通过这种方式,您可以使用现有的edit
操作
resources :users, except: [:edit]
get "/users/edit" => "users#edit"
希望这有帮助!