How to access 'can?' method from within cell?

半城伤御伤魂 提交于 2019-12-21 02:17:10

问题


I'm using cancan and cells gems in my ruby-on-rails project. How to access can? method from within cell? Thanks.


回答1:


I've had to do exactly this. Try

class MyCell < Cell::Rails

  include CanCan::ControllerAdditions

end                                        

If you're also using Devise, I had to do this:

class MyCell < Cell::Rails

  include CanCan::ControllerAdditions
  include Devise::Controllers::Helpers
  Devise::Controllers::Helpers.define_helpers(Devise::Mapping.new(:user, {}))

end                                        

#define_helpers will add helper methods such as current_user and user_signed_in? to the cell.




回答2:


For those who happen to have a custom current_ability() method (in which you can change the name of current_user method and Ability class names):

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


来源:https://stackoverflow.com/questions/5546892/how-to-access-can-method-from-within-cell

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!