我在我的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>
我假设发生此错误,因为我现在有一个用户名字段?我如何拥有用户名字段,但不能用于登录?
答案 0 :(得分:1)
我相信Authlogic会自动使用用户名字段(如果存在)。如果您没有使用用户名字段进行身份验证,那么最简单的解决方案是重命名用户名列。