我正在尝试创建我的第一个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