我有一个新的轨道安装,并试图建立与设计认证。据我所知,我有一个非常基本的设置,应该可以工作,但每当我试图登录与默认的设计登录形式,我得到一个未经授权的错误。我确信我的凭据是正确的,因为我在控制台中创建了一个要测试的用户,如下所示:
User.new({:email=>'[email protected]', :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"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
(0.1ms) begin transaction
(0.0ms) commit transaction
Completed 401 Unauthorized in 69ms
有什么方法可以让我从设计中获得更多关于失败的信息吗?当我在控制台中创建用户时,使用的加密与通过表单创建的加密不同吗?
最佳答案
好吧,这个小小的挫折练习结果是一个很好的教训,在rtfm。我用confirmable设置了designe,当我创建布局时,忽略了插入以下行:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
…正如入门指南中明确指出的那样。当我插入这些内容时,我收到了一条错误消息:“您需要在登录之前确认您的电子邮件地址。”
在控制台中,我设置confirmed_at=time。现在对于用户和voila,我可以登录了。