微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redmine将其他信息发送到从挂钩调用的局部视图

如何解决Redmine将其他信息发送到从挂钩调用的局部视图

我想在redmine主项目页面添加信息。 redmine plugin tutorial解释说可以使用Hooks轻松完成。我发现我要使用的钩子是view_projects_show_right(来自Hooks_List)。

redmine hook documentation中,我看到了两种渲染局部的方法

我的钩

class RedmineTestHookListener < Redmine::Hook::ViewListener
  def view_projects_show_right(context = {})
    context[:controller].send(:render_to_string,{
        :partial => 'test/test',:locals => context,})
  end
end

我的部分

<div class="Box">
  <h3 class="icon icon-news">Test</h3>
  <p><%= params %></p> <!-- {"controller"=>"projects","action"=>"show","id"=>"test-projet"}  -->
    <!-- I would like more information in the params -->
</div>

我当然将钩子添加到了init.rb中。一切正常,但我想添加来自redmine数据库的信息。将数据追加到上下文似乎无效。

如何将其他信息发送到通过钩子调用的局部视图中?

使用render_on :view_projects_show_right,partial: 'test/test'是相同的。

解决方法

可以在locals

中使用额外的参数来完成此操作
class RedmineTestHookListener < Redmine::Hook::ViewListener
  def view_projects_show_right(context = {})
    test = "123"
    context[:controller].send(:render_to_string,{
        :partial => 'test/test',:locals => { context: context,test: test},})
  end
end

在局部视图中

  <p><%= test %></p> <!-- "123" -->

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。