2010-10-11 2 views
0

Я использую 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> 

Я предполагаю, что эта ошибка происходит потому, что у меня теперь есть поле имя пользователя? Как я могу получить имя пользователя, но не использовать его для входа?

+0

Это кажется немного странным. Использует ли authlogic поле «имя пользователя» автоматически, если оно существует? Если да, попробуйте переименовать свой столбец имени пользователя? – amaseuk

+1

@aaronmase - Спасибо за ваш ответ, переименование проработало. Если вы отправите ответ, я пометю его как правильно. – ben

ответ

1

Я считаю, что Authlogic автоматически использует поле имени пользователя, если оно существует. Если вы не используете поле имени пользователя для аутентификации, самым простым решением для вашего ответа будет переименование столбца имени пользователя.

 Смежные вопросы

  • Нет связанных вопросов^_^