如何获取自定义字段的可能值?

时间:2018-07-09 16:00:59

标签: ruby redmine redmine-plugins

我创建了一个键/值对类型的自定义字段,并向其中添加了一些值。现在,我需要编写一个插件,以挂接创建新问题,检查主题并在该字段的可能值中找到匹配项,如果找到,则将该值分配给问题。
我仍然很难在插件中简单地该字段的所有可能值。我找到了CustomField.find(id).possible_values,并尝试使用我的字段的正确ID对其进行记录,但它仅显示[]

到目前为止,我的代码:

module My_Plugin
  class Hooks < Redmine::Hook::ViewListener
    def controller_issues_new_before_save(context={ })
      issue = context[:issue]
      project = Project.find(issue[:project_id].to_i)
      if project.name === "MyProjectName"
        File.write('/tmp/redmine', CustomField.find(4).possible_values)            
      end
    end
  end
end

我在做什么错?如果我致电/custom_fields/4/enumerations,我会看到很多活动字段值。

1 个答案:

答案 0 :(得分:0)

好的,我找到了(CustomField.find(ID_OF_FIELD).enumerations.each_with_index)。

module My_Plugin
  class Hooks < Redmine::Hook::ViewListener
    def controller_issues_new_before_save(context={ })

      issue = context[:issue]
      project = Project.find(issue[:project_id].to_i)
      if project.name === "MyProjectName"
          CustomField.find(4).enumerations.each_with_index do |value, position|
              File.write('/tmp/redmine_'+value.id.to_s, value.name)
          end
      end
    end
  end
end