Получить значение пользовательского поля Redmine в файл - PullRequest
1 голос
/ 23 сентября 2011

Я пытаюсь создать текстовый файл, содержащий значение настраиваемого поля, которое я добавил в redmine.Я попытался получить его из SQL-запроса в методе создания файла project_controller.rb (в строке 80 на redmine 1.2.0) следующим образом:

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), так что это может быть проблемой синтаксиса, но я не могу найти, что это такое.Я также был бы рад услышать любое другое решение, чтобы получить это значение.

Спасибо!

(здесь очень похожий пост здесь , но ни одно из решений на самом деле не сработало) * +1010 *

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

В итоге я просто использовал params["project"]["custom_field_values"]["x"], где x - идентификатор пользовательского поля.Я до сих пор не знаю, почему SQL-запрос не работал, но хорошо, это намного проще и быстрее.

0 голосов
/ 03 октября 2011

Во-первых, вы можете использовать Project.connection.query вместо вашего собственного экземпляра Mysql.Во-вторых, я бы попытался зарегистрировать SQL RAILS_DEFAULT_LOGGER.info "SELECT ..." и проверить, все ли в порядке ... А в-третьих, я бы использовал identifier вместо name.

...