Я пытаюсь использовать delayed_job
обновить удаленную базу данных через xml
В моей папке lib я поместил файл с классом, который должен сделать a render_to_text
с template.xml.builder
, но я добираюсь:
undefined method `render_to_string' for #<SyncJob:0x7faf4e6c0480>...
Что я делаю неправильно?
render_to_string
определен в ActionController :: Base
. Поскольку класс / модуль определен вне области действия контроллеров Rails, функция недоступна.
Вам придется вручную визуализировать файл. Я не знаю, что вы используете для своих шаблонов (ERB, Haml и т. Д.). Но вам придется загрузить шаблон и проанализировать его самостоятельно.
Итак, если ERB, что-то вроде этого:
require 'erb'
x = 42
template = ERB.new <<-EOF
The value of x is: <%= x %>
EOF
puts template.result(binding)
Вам нужно будет открыть файл шаблона и отправить его содержимое на ERB.new
, но это упражнение осталось для вас. Вот документы для ERB.
Это общая идея.