#ruby-on-rails #cancan #rails-cells
#ruby-on-rails #cancan #рельсы-ячейки
Вопрос:
Я использую cancan
и cells
gems в своем проекте ruby-on-rails. Как получить доступ к can?
методу из ячейки?Спасибо.
Ответ №1:
Мне пришлось сделать именно это. Попробуйте
class MyCell < Cell::Rails
include CanCan::ControllerAdditions
end
Если вы также используете Devise, мне пришлось сделать это:
class MyCell < Cell::Rails
include CanCan::ControllerAdditions
include Devise::Controllers::Helpers
Devise::Controllers::Helpers.define_helpers(Devise::Mapping.new(:user, {}))
end
#define_helpers
будут ли добавлены вспомогательные методы, такие как current_user и user_signed_in? в ячейку.
Комментарии:
1. привет, qnm! для чего нужна последняя
define_helpers
часть?2. @dgilperez Взгляните на код — вы увидите, что это приводит к появлению помощников по разработке — current_user / user_signed_in? и т.д. в ячейку в качестве помощников.
Ответ №2:
Для тех, у кого случайно есть пользовательский current_ability()
метод (в котором вы можете изменить имя метода current_user и имена классов способностей):
class OrderCell < Cell::Rails
include CanCan::ControllerAdditions
delegate :current_ability, :to => :controller
end