注册完成后,401 Unauthorized设计用户登录

时间:2013-06-13 11:09:28

标签: devise ruby-on-rails-3.2

我正在设计注册控制器覆盖,当我注册新用户时,它第一次签到我,但是当我退出然后尝试登录时,它在控制台中给出了一个错误

Processing by Devise::SessionsController#create as HTML
   Parameters: {"utf8"=>"✓","authenticity_token"=>"Wq8QW/F8X1BVxFcH6M9WU8OUpIGjKI1mKd1+/OBGyGY=", "user"=>  {"email"=>"jamil@gmail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign   in"}
  User Load (0.2ms)  SELECT `users`.* FROM `users` WHERE `users`.`email` =   'jamil@gmail.com' LIMIT 1
 **Completed 401 Unauthorized in 16ms**
Processing by Devise::SessionsController#new as HTML
  Parameters: {"utf8"=>"✓" ,     "authenticity_token"=>"Wq8QW/F8X1BVxFcH6M9WU8OUpIGjKI1mKd1+/OBGyGY=", "user"=>     {"email"=>"jamil@gmail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign     in"}

然后它会显示无效的电子邮件或密码消息

请帮我解决这个奇怪的问题......我被绞死了

这是我的注册表

<h2>Sign up</h2>
    resource_name,:url =&gt; registration_path(resource_name))do | f | %GT;      
 <div><%= f.label :email %><br />
 <%= f.email_field :email, :autofocus => true %></div>

  <div><%= f.label :Connector_code %><br />
  <%= f.text_field :invitation_token,:value => @token %></div>

   <div><%= f.label :password %><br />
  <%= f.password_field :password %></div>

  <div><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></div>

   <div><%= f.label :Friends_code %><br />
  <%= f.text_field :friend_token ,:value =>params[:invitation_token]%></div>

  <div><%= f.submit "Sign up" %></div>
 <% end %>

<%= render "devise/shared/links" %>


Thanks 

1 个答案:

答案 0 :(得分:0)

尝试在初始化文件或模型本身中显式设置authentication_keys参数:

# config/initializers/devise.rb
Devise.setup do |config|
   config.authentication_keys = [ :email ]
end

# app/models/user.rb
class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable, 
     :authentication_keys => [:email]

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
end