首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在rolify gem中添加多个回调

如何在rolify gem中添加多个回调
EN

Stack Overflow用户
提问于 2016-05-06 20:11:26
回答 1查看 311关注 0票数 1

根据rolify gem文档。这个gem将rolify方法添加到您的User类中。您还可以在添加或删除角色时在User类上指定可选回调:

代码语言:javascript
复制
class User < ActiveRecord::Base
  rolify :before_add => :before_add_method

  def before_add_method(role)
    # do something before it gets added
  end
end

rolify方法接受以下回调选项:

代码语言:javascript
复制
before_add
after_add
before_remove
after_remove

Mongoid回调也被支持,并且以相同的方式工作。

当我添加多个回调来进行rolify时,它只对我的最后一个代码有效

代码语言:javascript
复制
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吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-06 20:43:46

我找到了解决方案。实际上,我们需要传递每个回调函数,用分隔,如下所示

代码语言:javascript
复制
rolify :before_add => :before_add_method, :before_remove => :before_remove_method
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37072116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档