Сохранение файлов XML с помощью Rails - PullRequest
2 голосов
/ 12 ноября 2010

я работаю над проектом Rails, который должен создавать файлы XMl или, если быть более точным, использовать существующие шаблоны XMl и помещать в них содержимое из базы данных.

Так что мне не нужно создавать структуру xml, в основном просто рендеринг шаблона с контентом. Каков был бы самый умный способ сделать это?

Пока у меня есть файл file.xml.erb в моей папке макета и у меня есть собственный маршрут "/ renderXML", который делает

def renderXML 
  @reading_question = ReadingQuestion.find(params[:id])
  render :file => 'layouts/question.xml'
end

Это работает, но я также хочу сохранить файл, а не только показать его (на самом деле его просмотр не нужен). Для сохранения я нашел это

File.open('fixed.xml','w'){|f| f.write builder.to_xml}

Как получить доступ к отрендеренному файлу и сохранить его каким-либо способом, описанным выше?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2010

Возможно что-то вроде:

s = render_to_string :file => 'layouts/question.xml'
File.open('fixed.xml','w'){|f| f.write s}
render :text => s
1 голос
/ 09 мая 2012

Другой подход:

исправлено send_data: type => 'text / xml; charset = UTF-8; ',: disposition => "attachment; filename = fixed.xml"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...