15

У меня есть действие, которое должно отображать представление в строку. Вид называется index.xml.erb. Я пытаюсь добиться этого с render_to_string:Задает формат: «xml» игнорируется с помощью render_to_string

my_string = render_to_string(layout: false, format: "xml") 

render_to_string вместо этого делает содержимое index.html.erb и назначая его my_string. Что мне не хватает?

Примечание: Я знаю, что я могу сделать что-то вроде этого:

my_string = render_to_string(:action => "#{self.action_name}.xml.erb") 

Но мне любопытно, почему опция «формат» не удостоилась render_to_string.

ответ

21

Это работает для меня.

render_to_string(:action => "#{self.action_name}", :formats => [:xml])