Я пытаюсь отобразить шаблон в ActionJob для трансляции через ActionCable.ActionCable + Devise + Pundit + ApplicationController.render
ApplicationController.render(partial: "messages/message", locals: { message: message }, assigns: { current_user: user}).squish
В большинстве случаев, это работает отлично, однако некоторые из моих шаблонов использовать PUNIT для авторизации в представлении.
<% if policy(message).show? %>
<%= message.body %>
<% end %>
Это вызывает ошибку при выполнении задания.
ActionView::Template::Error: Devise could not find the `Warden::Proxy` instance on your request environment.
Быстрый поиск Google показывает этот вопрос: https://github.com/plataformatec/devise/issues/4271
Упомянутые в билете и ссылках, нет окр [ «смотритель»] доступно, потому что нет промежуточного слоя не выполняется, чтобы добавить его.
Как я могу обойти это?
Вы проверили [это] (http://www.thegreatcodeadventure.com/using-action-controller-renderers-in-rails-5-with-devise/)? –
@ArunKumar Да, это была одна из ссылок, упомянутых в билете. –