#ruby-on-rails #ruby #erb
#ruby-on-rails #ruby #ошибка
Вопрос:
Я работаю над системой входа / выхода из системы, однако у меня возникают трудности с фактическим выходом из системы и уничтожением сеансов. Я получаю «NoMethodError в SessionsController #destroy», неопределенный метод для моего метода «забыть».
Вот мои методы в моем помощнике по сеансам.
def forget(user)
User.forget
cookies.delete(:user_id)
cookies.delete(:remember_token)
end
def log_out
current_user amp;amp; forget(current_user)
session.delete(:user_id)
@current_user = nil
end
И мой контроллер сеансов:
def destroy
log_out if logged_in?
redirect_to_root_url
end
Вот моя ссылка для выхода из системы в cass, я допустил здесь какую-то ошибку:
<%= link_to "Log Out", logout_path, method: :delete, class: "dropdown-item" %>
Я попытался передать current_user в метод forget, но это ничего не изменило.
Ответ №1:
В вашем def forget(user)
методе вы вызываете User.forget
, а не user.forget
. Похоже forget
, что это должен быть метод экземпляра, а не метод класса, как вы его вызываете.