我正在嘗試創建我的第一個Redmine插件。其實,我試圖建立的問題側邊欄(在view_layouts_base_sidebar
鉤)一個形式,我不能找到一個辦法讓當前項目在視圖鉤子中獲取當前項目?
要獲取當前用戶,我們可以做到這一點
User.current
現在,我想獲得當前問題的項目,你知道如何得到它嗎?作爲Project.current
不存在
非常感謝
我正在嘗試創建我的第一個Redmine插件。其實,我試圖建立的問題側邊欄(在view_layouts_base_sidebar
鉤)一個形式,我不能找到一個辦法讓當前項目在視圖鉤子中獲取當前項目?
要獲取當前用戶,我們可以做到這一點
User.current
現在,我想獲得當前問題的項目,你知道如何得到它嗎?作爲Project.current
不存在
非常感謝
正如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。
我得到了它
issue = Issue.find(context[:request].params[:id])
project = Project.find(issue.project_id)
雖然這可能在某些情況下有效,但在其他大多數情況下肯定會產生不想要的結果。查看我的答案以獲得更好的解決方案 – jan