【发布时间】:2016-09-25 14:29:40
【问题描述】:
我有一个使用 Devise 进行身份验证的用户模型,还有一个也使用 Devise 的管理员模型。 我希望管理员能够通过 administrators/users/{user.id}/edit 编辑用户配置文件,但是我希望通过设计控制器完成此过程,因此我尝试从 Users::RegistrationsController 继承,如下所示:
class Administrators::UsersController < Users::RegistrationsController
before_action :set_user, only: [:show,:edit,:update,:destroy]
def index
@users=User.all
end
def show
end
def new
super
end
def update
@user.update(user_params)
redirect_to [:administrators,:users]
end
但我收到以下错误:
找不到路径“/administrators/users”的设计映射。这可能有两个原因:1)您忘记将您的路线包装在范围块内。例如: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) 您正在测试绕过路由器的设计控制器。如果是这样,您可以明确告诉 Devise 使用哪个映射:@request.env["devise.mapping"] = Devise.mappings[:user]
我尝试更改路线,但仍然遇到同样的错误。 你能帮帮我吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 devise