繁体   English   中英

Ruby on Rails,设计自定义注册和登录

[英]ruby on rails, devise custom signup and login

我正在努力让我的设计为我的Rails项目工作。 我正在自定义视图。 我得到它接受并使用以下代码验证名称字段和电子邮件密码:

在我的配置和初始化程序设计文件中

config.authentication_keys = [:name, :email]

在我的新会话视图中

<div class="field">
   <%= f.label :name %>
   <% if resource.errors.has_key?(:name) %>
     <em><%= resource.errors[:name] %></em>
   <% end %><br />
   <%= f.text_field :name, autocomplete: "off" %>
 </div>

如果我删除了名称的authentication_key ,它将永远不会保存该名称,因此我将密钥添加到了authentication_keys并且可以正常工作

但是,对于登录,我不希望它对电子邮件进行身份验证,而只是通过名称和密码来工作

我在这样做时遇到问题

我检查了sign_up ,它可以正常工作,并使用所有数据创建一个新用户。

让我知道您是否有任何想法,谢谢

如果您只想使用名称进行登录,则无需电子邮件即可更改身份验证密钥

  config.authentication_keys = [:name]

附加代码

如果要在用户注册时包括电子邮件

打开您的应用程序控制器并添加以下代码

class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:email])
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM