2013-04-09 108 views
1

我一直在關注Redmine Plugin Tutorial並閱讀Hooks上的頁面,但我仍然無法使用render_on關鍵字或其他方式獲取我的插件部分。Redmine插件部分未找到

這裏就是我把我的諧音:

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,儘管它看起來不太有用。

如果我在MailSettingIssueHooks中定義了一個名爲view_issues_form_details_bottom的方法,它將返回一個正確呈現的字符串。

render_on關鍵字如何決定在哪裏查找偏差,以及如何使其工作?

回答

5

當Redmine加載插件時,它會將全部的默認視圖目錄 - app/views - 添加到全局Rails視圖路徑。趕上是不是使用磁盤上的實際目錄 - 它假設一個插件位於plugins/<name>,其中<name>是您用於Redmine::Plugin.register的參數。

這意味着,如果你的init.rb樣子:

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

但你的插件目錄實際上是redmine_cool_stuff,代碼將加載和執行,但該意見將不會被發現。

解決方案:確保參數Plugin.register相同目錄中的管理平臺plugins目錄名。

+1

我希望我可以給你一個upvote。 – aprok 2014-02-04 10:28:33