ruby-on-rails – 总是通过新安装的Rails Devise获得401未经授权

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 总是通过新安装的Rails Devise获得401未经授权前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个新安装的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à,我现在可以登录.

猜你在找的Ruby相关文章