指定格式:使用 render_to_string 忽略“xml”

Posted

技术标签:

【中文标题】指定格式:使用 render_to_string 忽略“xml”【英文标题】:Specifying format: "xml" ignored with render_to_string 【发布时间】:2012-02-01 21:53:40 【问题描述】:

我有一个操作需要将视图呈现为字符串。该视图称为 index.xml.erb。我正在尝试使用 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 不支持“格式”选项。

【问题讨论】:

【参考方案1】:

这对我有用。

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

【讨论】:

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

以上是关于指定格式:使用 render_to_string 忽略“xml”的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 django 的 render_to_string 对单引号 (') 进行编码

使用 render_to_string 时创建的真实性令牌不同

如何使用 render_to_string 在 lib ruby​​ 类中渲染部分内容

Rails render_to_string

如何将变量从模型传递给 render_to_string?

如何使用FileDialog指定文件格式选择文件