在视图挂钩中获取当前项目?

Get current project in view hook?

我正在尝试创建我的第一个 Redmine 插件。实际上我正在尝试在问题侧边栏中创建一个表单(view_layouts_base_sidebar 挂钩),但我找不到获取当前项目的方法

获取当前用户,我们可以这样做

User.current

现在,我想获取当前期的项目,你知道怎么获取吗?因为 Project.current 不存在

非常感谢

我知道了

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

relevant documentation中所述,只需使用

project = context[:project]

应该能帮到你。

我建议不要使用 Issue.find(context[:request].params[:id]),因为它可能会产生不需要的结果。由于 view_layouts_base_sidebar 在各种上下文中都会被调用,因此 context[:request].params[:id] 可以是维基页面 ID、项目 ID、跟踪器 ID 等。只需将其传递给 Issue.find() 就不会出现问题在最好的情况下或在最坏的情况下完全不相关的问题。

我建议您也阅读有关 Rails routing 的内容。