使用authlogic,使用电子邮件和密码登录工作正常。我刚刚在我的用户模型中添加了一个用户名字段,现在登录不起作用

时间:2010-10-11 07:19:49

标签: ruby-on-rails authlogic

我在我的RoR应用程序中使用authlogic。登录时,我使用这样的电子邮件和密码:

<% form_for @user_session, :url => user_session_path do |f| %>
  <%= f.error_messages %>
  <%= f.label :email %><br />
  <%= f.text_field :email %><br />
  <br />
  <%= f.label :password %><br />
  <%= f.password_field :password %><br />
  <br />
  <%= f.check_box :remember_me %><%= f.label :remember_me %><br />
  <br />
  <%= f.submit "Login" %>
<% end %>

这工作正常,但我刚刚在我的用户模型中添加了“用户名”字段,现在我收到此错误(在<%= f.text_field :email %>行上):

 NoMethodError in User_sessions#new
undefined method `email' for #<UserSession: no credentials provided>

我假设发生此错误,因为我现在有一个用户名字段?我如何拥有用户名字段,但不能用于登录?

1 个答案:

答案 0 :(得分:1)

我相信Authlogic会自动使用用户名字段(如果存在)。如果您没有使用用户名字段进行身份验证,那么最简单的解决方案是重命名用户名列。