Каждый раз, когда я вхожу в систему, я получаю сообщение об ошибке, что адрес электронной почты/пароль недействителен.
маршруты:
devise_for :users
devise_scope :users do
get '/users/sign_out' => 'devise/sessions#destroy', :as => :destroy_user_session
post '/users/sign_in' => 'devise/sessions#create', :as => :user_session
end
resources :users
модель пользователя:
devise :database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable
attr_accessor :password
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :gender, :remember_me
Вид:
<% if signed_in?(:user) %>
Hi <%= current_user.first_name %>. | Not you? <%= link_to 'Sign out', destroy_user_session_path, :method => :delete %>
<% else %>
<%= link_to 'Sign up', signup_path %> or <%= link_to 'Sign in', user_session_path, :method => :create %>
<% end %>
Я попытался изменить маршруты:
get '/users/sign_in' => 'devise/sessions#new', :as => :new_user_session
и изменения соответствующих путей, но это ничего не изменило.
Я даже изменил код в представлении:
if signed_in?(:user)
в
if user_signed_in?
и сделал комбинацию этих вещей, и ничего не работает.
Я также попросил разработчика обработать подтверждение, которое я сделал, скопировав сгенерированную ссылку на браузер, и в первый раз меня подписывает как пользователь. Он также позволяет мне сменить пароль по ссылке подтверждения по электронной почте, которая также меня подписывает при смене пароля. Но как только я выхожу и запишусь, он сообщает мне, что адрес электронной почты снова недействителен.
Может ли кто-нибудь помочь?
Я использую рельсы 3.0.7, разрабатываю 1.4.5, capybara 1.1.1, огурец 1.0.6, mysql2 0.2.6 и грабли 0.8.7, если это кому-то помогает.
Спасибо
EDIT:
Чтобы помочь будущим пользователям, на самом деле нет ничего плохого в этом камне. Он работает нормально. Проблема связана с моей базой данных. По какой-то причине он выбирает NULL-адрес электронной почты из базы данных вместо того, чтобы вытаскивать информацию пользователя, с которым я пытаюсь войти. Я выясню, как исправить это сейчас, и обновляю его, как только я это выясню.