在Devise中,我们可以通过删除:可注册符号表单用户模型来限制用户直接注册。但我的主题是创建自己的用户注册页面和控制器,并允许管理员手动创建用户。我尝试了很多次,但问题是如何加密密码,以便在登录时可以通过设计访问。如果有任何想法请帮助。
答案 0 :(得分:1)
以下是一些建议和解决方案:
请勿从:regesterable
模型中删除User
。相反,只需为registration
文件中的routes.rb
定义不同的路径,以便其他人无法找到要注册的路径。
例如devise_for :users, path_names: { sign_up: 'register_not_allowed' }
创建模块,如Admin
,然后在此模块下定义控制器,如UsersController
。 e.g。
module Admin
class UsersController < ApplicationController
end
end
在controller
创建新,修改,显示,创建,与任何控制器一样,更新方法。创建一个包含email
,password
,password_confirmation
字段以及User
模型中属性的附加字段的表单。然后在admin/users
控制器的强参数中要求它们。现在,当您使用此表单创建用户时,不需要加密密码。
应用/视图/管理/用户/ _form.html.erb 强>
<%= form_for [:admin, @user] do |f| %>
<% end %>
答案 1 :(得分:0)
我这样做是为了解决问题
感谢你们帮助。