根据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
endrolify方法接受以下回调选项:
before_add
after_add
before_remove
after_removeMongoid回调也被支持,并且以相同的方式工作。
当我添加多个回调来进行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方法。有什么建议我们可以添加多个回调来rolify gem吗?
发布于 2016-05-06 20:43:46
我找到了解决方案。实际上,我们需要传递每个回调函数,用分隔,如下所示
rolify :before_add => :before_add_method, :before_remove => :before_remove_methodhttps://stackoverflow.com/questions/37072116
复制相似问题