2013-04-08 4 views
1

Я следую Hartl's Ruby on Rails Tutorial и только что закончил главу о входе и выходе приложения. Все работает отлично на локальном хосте, но при развертывании в heroku он автоматически регистрирует вас в качестве примера пользователя, а кнопка выписки больше не работает.Heroku не позволит никому выйти из приложения

Как я уже говорил, я могу выйти без проблем на localhost. Кажется, что он только разбит на героку.

Я также должен добавить, что если я создаю нового пользователя во время входа в систему как локальный хост, он будет создавать новый пользователь и регистрировать вас как нового пользователя. Вы можете даже выйти из системы как новый пользователь. Но как только вы выходите из системы как новый пользователь, он возвращается к регистрации в качестве примера пользователя.

, если это помогает, вот пример приложения: https://serene-bayou-7583.herokuapp.com/

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

Edit: Stack не позволит мне ответить на мой собственный вопрос, так вот исправление для кого-либо еще с этой проблемой

Вот ответ на мой вопрос, для кого-то еще, что имеет этот вопрос. По сути, похоже, что героику соответствует NIL для примера пользователя. Поэтому мы немного меняем код, чтобы остановить это поведение. Единственный побочный эффект - это не возможность войти в систему как пример пользователя, но в остальном он отлично работает! Измените это в своих помощниках:

def current_user 
     if cookies[:remember_token].present? 
     @current_user ||= User.find_by_remember_token(cookies[:remember_token]) 
    end 
end 
+0

я не имею никаких проблем, чтобы зарегистрироваться и подписать из – Nich

+0

я просто сведущего, чтобы исправить это, спасибо, что нашли время, чтобы посмотреть! если у кого-то еще есть эта проблема, вот исправление в ваших сеансах helper 'def current_user \t \t, если файлы cookie [: remember_token] .present? \t \t @current_user || = User.find_by_remember_token (печенье [: remember_token]) \t конец end' – Michael

+0

+1 для спокойной-Bayou субдомена. Тоже самое! – OneChillDude

ответ

0

Вот ответ на мой вопрос для всех, у кого есть эта проблема. По сути, похоже, что героику соответствует NIL для примера пользователя. Поэтому мы немного меняем код, чтобы остановить это поведение. Единственный побочный эффект - это не возможность войти в систему как пример пользователя, но в остальном он отлично работает! Измените это в вашем помощнике сессий:

def current_user 
    if cookies[:remember_token].present? 
    @current_user ||= User.find_by_remember_token(cookies[:remember_token]) 
end 

конца

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