将Redmine自定义字段值获取到文件

时间:2011-09-23 19:32:07

标签: mysql ruby-on-rails ruby redmine

我正在尝试创建一个文本文件,其中包含我在redmine上添加的自定义字段的值。我试图从project_controller.rb的create方法中的SQL查询中获取它(在redmine 1.2.0的第80行),如下所示:

sql = Mysql.new('localhost','root','pass','bitnami_redmine')
rq = sql.query("SELECT value 
   FROM custom_values 
   INNER JOIN projects
   ON custom_values.customized_id=projects.id
   WHERE custom_values.custom_field_id=7
   AND projects.name='#{@project.name}'")
rq.each_hash { |h|
  File.open('pleasework.txt', 'w') { |myfile|
    myfile.write(h['value'])
  }
}
sql.close

如果我在一个单独的文件中测试它(使用现有的项目名称而不是@project.name),这可以正常工作,所以它可能是一个语法问题,但我找不到它是什么。我也很高兴听到任何其他解决方案来获得这个价值。

谢谢!

(有一个非常相似的帖子here,但没有一个解决方案真正起作用)

2 个答案:

答案 0 :(得分:0)

首先,您可以使用Project.connection.query而不是您自己的Mysql实例。其次,我会尝试记录SQL RAILS_DEFAULT_LOGGER.info "SELECT ..."并检查它是否正常......第三,我会使用identifier代替name

答案 1 :(得分:0)

我最终只使用params["project"]["custom_field_values"]["x"],其中x是自定义字段的ID。我仍然不知道为什么sql查询不起作用但很好,这更简单,更快。