waq*_*ali 1 ruby-on-rails callback rolify
根据rolify gem文档.此gem将rolify方法添加到您的User类.您还可以在User类中为添加或删除角色时指定可选回调:
class User < ActiveRecord::Base
rolify :before_add => :before_add_method
def before_add_method(role)
# do something before it gets added
end
end
Run Code Online (Sandbox Code Playgroud)
rolify方法接受以下回调选项:
before_add
after_add
before_remove
after_remove
Run Code Online (Sandbox Code Playgroud)
Mongoid回调也受支持并以相同的方式工作.
当我添加多个回调来rolify它只适用于我的代码的最后一个
class User < ActiveRecord::Base
rolify :before_add => :before_add_method
rolify :before_remove => :before_remove_method
private
def before_add_method(role)
#to do
end
def before_remove_method(role)
#to do
end
end
Run Code Online (Sandbox Code Playgroud)
只调用before_remove_method方法.有什么建议我们如何添加多个回调来rolizing gem?
我找到了解决方案.实际上我们需要传递每个回调分隔符,如下所示
rolify :before_add => :before_add_method, :before_remove => :before_remove_method
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |