Как получить доступ к «можно»? метод изнутри клетки? - PullRequest
7 голосов
/ 05 апреля 2011

Я использую драгоценные камни cancan и cells в своем проекте ruby-on-rails. Как получить доступ к can? методу из ячейки? Спасибо.

Ответы [ 2 ]

12 голосов
/ 19 октября 2011

Я должен был сделать именно это.Попробуйте

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?в клетку.

4 голосов
/ 25 апреля 2013

Для тех, у кого есть собственный метод current_ability() (в котором вы можете изменить имя метода current_user и имена классов Ability):

class OrderCell < Cell::Rails
  include CanCan::ControllerAdditions
  delegate :current_ability, :to => :controller
end
...