首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于登录的Rails小写字段输入

用于登录的Rails小写字段输入
EN

Stack Overflow用户
提问于 2013-05-20 17:19:25
回答 1查看 2.4K关注 0票数 1

在我的数据库中的rails中,有一个名为ME@gmail.com的用户,但是如果我尝试使用me@gmail.com登录的话。我做不到。很明显,在我的字段尝试登录之前,它不会变得更低。我知道我应该..。

before_save { |user| user.email = email.downcase }

但据我所知在模型中是这样的。但我只有一个会话控制器。不是会话模型。那么,我应该如何达到同样的效果呢?

我当前的用户模型

代码语言:javascript
运行
复制
class User < ActiveRecord::Base
  attr_accessible :email, :password, :password_confirmation, :name

  attr_accessor :password
  before_save :encrypt_password
  before_save { |user| user.email = email.downcase }
  before_save { |user| user.name = name.downcase }
  before_create { generate_token(:auth_token) }
  before_create { generate_token(:email_token) }

我当前的会话控制器

代码语言:javascript
运行
复制
class SessionsController < ApplicationController
  def new
  end

  def create
    user = User.authenticate(params[:email], params[:password])
      if user
        if user.email_activation_token == true
          if params[:remember_me]
            cookies.permanent[:auth_token] = user.auth_token
          else
            cookies[:auth_token] = user.auth_token
          end
          redirect_to root_url, :notice => "Logged in!"
        else
          flash.now.alert = "You email has not yet been verified. Please click the link in your email." 
          render "new"
        end
      else
        flash.now.alert = "Invalid email or password"
        render "new"
      end
  end

问题中的表单字段

代码语言:javascript
运行
复制
= form_tag sessions_path do
  %p
    = label_tag :email
    = text_field_tag :email, params[:email]
  %p
    = label_tag :password
    = password_field_tag :password
  %p.button
    %input{name: "commit", type: "submit", value: "Log in"}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 17:29:52

代码语言:javascript
运行
复制
user = User.authenticate(params[:email].downcase, params[:password])

在方法authenticate中,如下所示:

代码语言:javascript
运行
复制
User.where("LOWER(email) = LOWER(?)", email).first
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16654766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档