【问题标题】:Get Redmine custom field value to a file将 Redmine 自定义字段值获取到文件
【发布时间】:2011-09-23 19:32:06
【问题描述】:

我正在尝试创建一个文本文件,其中包含我在 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,但没有一个解决方案真正起作用)

【问题讨论】:

    标签: mysql ruby-on-rails ruby redmine


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。我通过“create”方法参数找到了另一种解决方案,但我会尝试你的方法来了解如何进行正确的 sql 查询。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多