2016-08-15 35 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