2016-08-15 3 views
0

첫 번째 Redmine 플러그인을 만들려고합니다. 사실 내가 문제 사이드 바합니다 (view_layouts_base_sidebar 후크)에서 양식을 만들려고 해요, 내가뷰 훅 (view hook)에서 현재 프로젝트 가져 오기?

현재 사용자를 얻기 위해 현재 프로젝트를 얻을 수있는 방법을 찾을 수 없습니다, 우리는이

User.current 
을 수행 할 수 있습니다

자, 현재 문제의 프로젝트를 받고 싶습니다. 어떻게해야할까요? 단순히 당신을 위해 트릭을 할해야

project = context[:project] 

를 사용하여 relevant documentation에서 언급 한 바와 같이 Project.current으로 내가

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

답변

0

있어 많은

-1

감사를 존재하지 않습니다.

원하지 않는 결과가 발생할 수 있으므로 Issue.find(context[:request].params[:id])을 사용하지 않는 것이 좋습니다. view_layouts_base_sidebar은 모든 종류의 컨텍스트에서 호출되기 때문에 context[:request].params[:id]은 위키 페이지 ID, 프로젝트 ID, 추적기 ID 등이 될 수 있습니다. Issue.find()으로 전달하면 최상의 경우에는 문제가없고 최악의 경우에는 전혀 관련이없는 문제가 없습니다. 케이스.

Rails routing도 읽어 보시기 바랍니다.

+0

일부 상황에서는 작동하지만 대부분의 경우 원치 않는 결과를 초래할 수 있습니다. 더 나은 솔루션에 대한 내 대답을 참조하십시오. – jan