У меня есть декоратор, который получает контроллер приложения как переменную, чтобы получить доступ к переменным сеанса. Что-то вроде:Rails Проверка сеанса сеанса Rspec в декораторе
navigation = NavigationDecorator(user_id, self)
Самостоятельное применение Контроль.
Все работает отлично, но теперь я должен проверить это и в Rspec я
navigation = NavigationDecorator(user_id, ApplicationController.new)
Во время моих тестов я получаю:
ActionController::Metal#session delegated to @_request.session, but @_request is nil: #<ApplicationController:0x000000161363f0 @_routes=nil, @_action_has_layout=true, @_headers={"Content-Type"=>"text/html"}, @_status=200, @_request=nil, @_response=nil>
Обновление:
Я использую его как это:
def initialize(user, controller)
@controller = controller
...
end
def retrieve_user_id
user_id = @controller.session[:temporary_id] if @controller.session[:temporary_id]
super
end
Не могли бы вы показать код NavigationDecorator? Как вы используете ApplicationController? –
Привет @SheinAlexey! Я обновил свой вопрос – Guido