Rails Cells с Devise и доступом к запросу и сеансу

Используя Cells и Devise, при попытке доступа к Devise:current_#{mapping} (например, current_user) я получаю запрос как неопределенные ошибки:

ActionView:: Template:: Error (неопределенная локальная переменная или метод request для #)

Я включил методы Devise Helpers, но они получают доступ к веб-контекстному запросу, которого нет в Cell::Base. Мой контроллер Cell выглядит примерно так:

class ActivityCell < Cell::Base
  include Devise::Controllers::Helpers
  helper_method :current_user

  def display
    puts current_user.id # <-- Error starts here
    ...
  end
end

Я использую RubyMine, когда я отлаживаю ситуацию внутри не обычного контроллера Cells, у self есть запрос. Внутри Cells::Base Controller запрос не существует.

Я нашел здесь этот фрагмент, который должен показать, как получить доступ к запросу и другим важным битам из контроллера Cells, но немного неясно, как заставить Devise работать так, как задумано в контроллере Cells. например, Cells:: Base делает запрос и все остальное, что нужно Devise

Я думаю, что-то может быть не так с моей версией Cells, но я использую 3.8.3. (последнее) Причина, по которой я думаю, в том, что у меня также нет доступной "сессии", как показано здесь в пункте № 4 "Контроллеры должны быть тонкими". Я не могу получить доступ к сессии из контроллера Cell::Base. Я не знаю, было ли это возможно раньше только с Ruby 2.x, а теперь с 3.x это невозможно. (в статье не упоминаются версии, но я вижу, что комментарии были опубликованы в конце 2010 г.)

class CartCell < Cell::Base
  def display
    @user = session[:user]

    render
end

Помимо этой проблемы, я супер копаю ячеек. Я использую его для изолированных виджетов, которые используют JQuery AJAX, чтобы извлечь из них JSON для построения графиков.

Любая помощь будет оценена. Мне нужно знать детали о текущем пользователе Devise, который вошел в систему!

1 ответ

Решение

Как вы уже указали сами;-) просто извлеките ячейку из Cell::Rails, и все будет работать нормально.

Другие вопросы по тегам