我正在尝试编写一个自定义路由,指向设计中的自定义控制器操作。
我现在有下面的设置。
# custom controller
class Registrations::RegistrationsController < Devise::RegistrationsController
layout 'settings'
# GET /resource/edit
def edit
super
end
end
# routing setup
Rails.application.routes.draw do
devise_for :users, controllers: { registrations: "registrations/registrations" },
path_names: { edit: 'profile' }
end
这允许我有一个自定义URL localhost:4000 / users / profile没有问题。
我的问题是如何进一步自定义
本地主机:4000 /简档 本地主机:4000 /设置/配置文件
注意我知道我可以设置path: '' or path: 'settings'
,但这会影响用户中的所有路线。
有没有办法可以
使用devise_forlocalhost:4000 / settings / profile和localhost:4000 / login?
我不确定如何分别控制这些影响。
答案 0 :(得分:0)
正如我们可以看到here,我们可以使用Rails范围并指定用于“注册”的控制器。像这样:
scope :settings do
devise_scope :user do
get '/profile' => 'devise/registrations#edit'
end
end