15

我有一個操作需要將視圖渲染爲字符串。該視圖被稱爲index.xml.erb。我試圖用render_to_string來實現這一目標:指定格式:render_to_string忽略「xml」

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])