指定格式:使用render_to_string忽略"xml"

YWC*_*llo 17 ruby-on-rails erb actionview actioncontroller ruby-on-rails-3

我有一个需要将视图呈现为字符串的操作.该视图称为index.xml.erb.我试图用render_to_string来实现这个目的:

my_string = render_to_string(layout: false, format: "xml")
Run Code Online (Sandbox Code Playgroud)

render_to_string是渲染index.html.erb的内容并将其分配给my_string.我错过了什么?

注意:我知道我可以这样做:

my_string = render_to_string(:action => "#{self.action_name}.xml.erb")
Run Code Online (Sandbox Code Playgroud)

但我很好奇为什么"格式"选项不适用于render_to_string.

hoy*_*hoy 24

这适合我.

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

  • 天啊,7 年之后,这个答案让我摆脱了试图在 json 请求中获取一些 pdf 模板的头疼。感谢您的贡献。 (3认同)