Rails 关于 Redmine 的二次开发中遇到的 call_hook 这个方法

Cger007 · 2016年11月22日 · 最后由 mengqing 回复于 2016年11月22日 · 3602 次阅读
  • 在 redmine 的二次开发中无论在 controller 层还是 view 层、model 层,总能看到 call_hook 这个方法,在网上查它的意思也没有查到,并且不知道为什么要用它,何时用它,请各位帮忙讲解一下。谢谢~

  • controller 中

    call_hook(:controller_issues_new_before_save, { :params => params, :issue => @issue })
    
  • model 中

    Redmine::Hook.call_hook(:model_project_copy_before_save, :source_project => project, :destination_project => self)
    
  • view 中

    <%= call_hook(:view_projects_form, :project => @project, :form => f) %>
    

这是为了让第三方开发者在 plugin 里注册 callback functions,然后 redmine 会在某个定义的阶段运行那些 functions。

你可以看下 redmine hooks 的官方 wiki,http://www.redmine.org/projects/redmine/wiki/Hooks

需要 登录 后方可回复, 如果你还没有账号请 注册新账号