根据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
rolify方法接受以下回调选项:
before_add
after_add
before_remove
after_remove
也支持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
只调用before_remove_method方法。 有什么建议我们如何添加多个回调来rolizing gem?
答案 0 :(得分:6)
我找到了解决方案。 实际上我们需要传递分隔的每个回调,如下面的
rolify :before_add => :before_add_method, :before_remove => :before_remove_method