с использованием клеток и Завещания, при попытке получить доступ к DEViSE: ток _ # {} отображение (например, CURRENT_USER) Я получаю запрос как неопределенные ошибки:Rails Клетки с Завещания и доступ запроса и сеанса
ActionView :: Template :: Error (неопределенная локальная переменная или метод `запрос 'для #)
Я включил методы Помощники Devise, но они получают доступ к запросу веб-контекста, которого нет в 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 нормальный контроллер, само имеет запрос. Внутри Cells :: Base Controller запрос отсутствует.
Я нашел этот фрагмент here, который должен показать, как получить доступ к запросу и другим важным битам из контроллера Cells, но немного неясно, как просто заставить Devise работать, как предполагалось, в контроллере Cells. например Cells :: Base делает запрос и все, что еще нужно для разработки.
Я думаю, что что-то может быть неправильно в моей версии Cells, но я использую 3.8.3. (последнее) Причина, по которой я думаю, это потому, что у меня также нет «сеанса», как показано here по пункту №4 «Контроллеры должны быть slim». Я не могу получить доступ к сеансу из Cell :: Base Controller. Я не знаю, было ли это возможно только с Ruby 2.x ранее, и теперь с 3.x это невозможно. (Статья не упоминает о версии, но я вижу, что комментарии были опубликованы концом 2010)
class CartCell < Cell::Base
def display
@user = session[:user]
render
end
Помимо этого вопроса, я супер рытья клетки. Я использую его для изолированных виджетов, которые используют jQuery AJAX для извлечения JSON из них для целей графического отображения.
Любая помощь будет оценена по достоинству. Мне нужно знать подробности о текущем пользователе Devise, который вошел в систему!
Правда. Переключение на Cells :: Rails устраняет необходимость разработки для сеанса. Я дам вам ответ, но обратите внимание, что если вы пытаетесь использовать Cell :: Base.render_cell_for в routes.rb, вы получите ошибки аргументов, которые я есть, но я не вызвал их вопрос, поэтому я не буду тащить это. https://github.com/apotonick/cells/issues/106 – garlicman