2016-08-15 7 views
0

私は最初のRedmineプラグインを作成しようとしています。実際に私は問題のサイドバー(view_layouts_base_sidebarフック)でフォームを作成しようとしている、と私は現在のプロジェクトをビューフックで取得しますか?

は、現在のユーザーを取得するには、現在のプロジェクトを取得する方法を見つけることができない、私たちはこの

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]はwikiページID、プロジェクトID、トラッカーIDなどになります。Issue.find()に渡すだけで、最悪のケースでは全く問題はありません場合。

Rails routingもお読みください。

+0

これは一部の状況では機能する可能性がありますが、ほとんどの場合、望ましくない結果が生じることがあります。私の答えはより良い解決策を見てください。 – jan

関連する問題