Мой пользователь уничтожается при выходе из Devise - PullRequest
1 голос
/ 12 марта 2012

Я в растерянности здесь. У меня есть три прицела Devise (бобовые, овощи и фрукты)

У меня есть одна пользовательская таблица, на которую ссылаются таблицы бобовых, фруктов и овощей:

  • У пользователя есть один боб, фрукты и овощи
  • Боб, фрукты и овощи принадлежат пользователю

Я могу нормально выйти из системы с 2 из 3 областей, но есть одна область (плод), где я выхожу из системы, и мой пользователь удаляется из базы данных. Я получаю это сообщение об ошибке после выхода из системы.

перевод отсутствует: en.devise.sessions.fruit.destroyed

Я выхожу, используя следующий код:

    link_to "Logout", destroy_fruit_session_path, :method => "delete"

Вот вывод в логах:

Начато УДАЛЕНИЕ "/ fruits / logout" для 127.0.0.1 в 2012-03-11 21:43:58 -0400 Обработка Fruits :: SessionsController # уничтожить как HTML Параметры: {"authenticity_token" => "2MwwcPF4NTWUUXDXiAh + v0B85CPNeUrW + R7S78FWo9E ="} Пользовательская нагрузка (0,8 мс) ВЫБЕРИТЕ "users". * FROM "users" WHERE "users". "Id" = 335 LIMIT 1 (0,2 мс) НАЧАТЬ SQL (0,6 мс) DELETE FROM "users" ГДЕ "users". "Id" = $ 1 [["id", 335]] (1.3ms) COMMIT Перенаправлено на http://localhost:3000/fruit/login

Тьфу! Я чувствую себя так глупо !!! Я понял свою проблему, и это довольно смущает ...

Вместо переопределения моего SessionsController с помощью Devises's SessionController я случайно переопределил его с помощью контроллера регистраций, который удаляет пользователя при уничтожении.

у меня было

    #incorrect!!!
    class Fruits::SessionsController < Devise::RegistrationsController

вместо

    #correct...
    class Fruits::SessionsController < Devise::SessionsController   

1 Ответ

0 голосов
/ 15 мая 2013

Попробуйте сделать

:method => :delete

вместо

:method => "delete"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...