2016-08-15 72 views
0

我正在嘗試創建我的第一個Redmine插件。其實,我試圖建立的問題側邊欄(在view_layouts_base_sidebar鉤)一個形式,我不能找到一個辦法讓當前項目在視圖鉤子中獲取當前項目?

要獲取當前用戶,我們可以做到這一點

User.current 

現在,我想獲得當前問題的項目,你知道如何得到它嗎?作爲Project.current不存在

非常感謝

回答

0

正如relevant documentation提到,只需使用

project = context[:project] 

應該爲你做的伎倆。

我建議不要使用Issue.find(context[:request].params[:id]),因爲它可能會產生不想要的結果。由於view_layouts_base_sidebar在各種情況下都被調用,所以context[:request].params[:id]可能是一個wiki頁面id,一個項目id,一個tracker id等等。簡單地通過Issue.find()會發現最好的情況沒有問題,或者最壞的情況下完全不相關的問題案件。

我建議你閱讀Rails routing

-1

我得到了它

issue = Issue.find(context[:request].params[:id]) 
project = Project.find(issue.project_id) 
+0

雖然這可能在某些情況下有效,但在其他大多數情況下肯定會產生不想要的結果。查看我的答案以獲得更好的解決方案 – jan