如何限制注册并在设计中创建自己的注册?

时间:2016-07-23 02:22:49

标签: ruby-on-rails ruby-on-rails-4 devise

在Devise中,我们可以通过删除:可注册符号表单用户模型来限制用户直接注册。但我的主题是创建自己的用户注册页面和控制器,并允许管理员手动创建用户。我尝试了很多次,但问题是如何加密密码,以便在登录时可以通过设计访问。如果有任何想法请帮助。

2 个答案:

答案 0 :(得分:1)

以下是一些建议和解决方案:

  1. 请勿从:regesterable模型中删除User。相反,只需为registration文件中的routes.rb定义不同的路径,以便其他人无法找到要注册的路径。 例如devise_for :users, path_names: { sign_up: 'register_not_allowed' }

  2. 创建模块,如Admin,然后在此模块下定义控制器,如UsersController。 e.g。

    module Admin class UsersController < ApplicationController end end

  3. controller创建修改显示创建,与任何控制器一样,更新方法。创建一个包含emailpasswordpassword_confirmation字段以及User模型中属性的附加字段的表单。然后在admin/users控制器的强参数中要求它们。现在,当您使用此表单创建用户时,不需要加密密码。

  4. 应用/视图/管理/用户/ _form.html.erb

    <%= form_for [:admin, @user] do |f| %> <% end %>

答案 1 :(得分:0)

我这样做是为了解决问题

  1. 我刚刚删除了:可注册表单用户模型
  2. 然后手动创建用户控制器和表单以创建数据。
  3. 然后在用户模型中设置必要的验证。
  4. 提交数据时,用户模型会自动加密并保存密码。
  5. 感谢你们帮助