没有找到Redmine Plugin Partials

时间:2013-04-09 05:14:34

标签: ruby redmine partials redmine-plugins

我一直在关注Redmine Plugin Tutorial并阅读Hooks上的页面,但我仍然无法使用render_on关键字或其他方式让我的插件部分呈现。

这是我放弃部分的地方:

app
└── views
    ├── issues
    │   └── _issue_mail_settings_form.html.erb
    └── projects
        └── _mail_settings_form.html.erb

这是我的render_on关键字的类,位于lib目录中:

class MailSettingIssueHooks < Redmine::Hook::ViewListener
  render_on :view_issues_form_details_bottom,            
      :partial => "issues/issue_mail_settings_form"                                                                                                
end

在init.rb中我只是require 'mail_setting_issue_hooks'

如果我像这样加载Redmine,我无法查看页面是否有任何问题 - 我只是收到404错误。请求的控制台输出为here,但看起来并不实用。

如果我在view_issues_form_details_bottom中定义一个名为MailSettingIssueHooks的方法,并返回一个正确呈现的字符串。

render_on关键字如何决定在哪里查找部分内容,以及如何让它起作用?

1 个答案:

答案 0 :(得分:5)

当Redmine加载插件时,会将每个 - app/views的默认视图目录添加到全局Rails视图路径中。问题是使用磁盘上的实际目录 - 它假定插件位于plugins/<name>,其中<name>是您用于Redmine::Plugin.register的参数。

这意味着,如果您的init.rb看起来像:

Redmine::Plugin.register :cool_stuff do
...

但是你的插件目录实际上是redmine_cool_stuff,代码将加载并执行,但是找不到视图。

解决方案:确保Plugin.register的参数与redmine plugins目录中的目录名相同。