Rails Cells 4: доступ к помощникам Devise

У меня есть простой пример Cells, который я хотел бы интегрировать с Devise и Rails. Тем не менее, все примеры и вопросы, кажется, для ячеек 3. Следующая ошибка в моем приложении (добавлены номера строк).

line 1: class UserCell < Cell::ViewModel
line 2:   include Devise::Controllers::Helpers
line 3:
line 4:   def index
line 5:     render
line 6:   end
line 7: end

Вызывает эту ошибку для строки 2.

undefined method `helper_method' for UserCell:Class

2 ответа

Решение

Оказывается, что Cells больше не настроен на работу с Rails по умолчанию (через Cell::Rails). Мне пришлось добавить помощников абстрактных контроллеров, но это автоматически помогло мне найти всех помощников в моей камере.

class UserCell < Cell::ViewModel
   include AbstractController::Helpers
   include Devise::Controllers::Helpers

   def index
     render
   end
 end

Еще один способ сделать это

def_delegator :current_user, :controller

Вы можете делегировать все контроллеру

Еще один способ, особенно если вы хотите сохранить свои ячейки и контроллер независимыми друг от друга, вы можете просто передать объекты и атрибуты в вашу ячейку в хэше options{}.

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