我有一个新安装的Rails,我正在尝试使用Devise设置身份验证.据我所知,我有一个非常基本的设置应该工作,但是每当我尝试使用默认的Devise登录形式登录时,我会收到一个未经授权的错误.我确信我的证书是正确的,因为我在控制台中创建了一个要测试的用户,如下所示:
User.new({:email=>'mark@markdavies.com.au',:priv_level => 'admin',:password=>'mypassword',:password_confirmation=>'mypassword'}).save
我的用户型号:
class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable,:confirmable,# :lockable,:timeoutable and :omniauthable devise :database_authenticatable,:recoverable,:rememberable,:trackable,:validatable,:confirmable # Setup accessible (or protected) attributes for your model attr_accessible :email,:password,:password_confirmation,:remember_me,:priv_level,:unconfirmed_email # attr_accessible :title,:body has_one :supplier end
我的日志:
Started POST "/admin/user/sign_in" for 127.0.0.1 at 2012-12-22 13:10:56 -0500 Processing by Admin::SessionsController#create as HTML Parameters: {"utf8"=>"✓","authenticity_token"=>"wYLsalxN9rTv8P8bvYuT0wZcvlFbu6b1SvoCyKtTCII=","admin_user"=>{"email"=>"mark@markdavies.com.au","password"=>"[FILTERED]","remember_me"=>"0"},"commit"=>"Sign in"} User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'mark@markdavies.com.au' LIMIT 1 (0.1ms) begin transaction (0.0ms) commit transaction Completed 401 Unauthorized in 69ms
有什么办法可以获得更多有关Devise失败的信息吗?当我在控制台中创建用户的加密使用不同于通过表单?
解决方法
那么这个沮丧的这个小小的运动竟然是RTFM的好教训.我已经设置了可以确认的Devise,当我创建了我的布局时,我忽略了插入以下几行:
<p class="notice"><%= notice %></p> <p class="alert"><%= alert %></p>
…在入门指南中明确指出.当我插入这些我收到错误信息“您需要确认您的电子邮件地址登录之前.”
在控制台我设置了confirm_at = Time.now为用户,而voilà,我现在可以登录.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。