小编Dmi*_*try的帖子

如何呈现XML模板,然后在Ruby on Rails 3.2.8中使用SEND_DATA?

任何人都可以帮我处理XML模板渲染和send_data吗?

我有一个控制器:

def show
  @calculation = Calculation.find(params[:id])

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @calculation }
    format.xml {send_data( :partial=>show.xml.erb, :filename => "my_file.xml" ) }
    format.pdf { render :format=>false}
  end
end
Run Code Online (Sandbox Code Playgroud)

但是我有很多错误,"堆栈级别太深"

如果我使用

{send_data( @calculation, :filename => "my_file.xml" ) }
Run Code Online (Sandbox Code Playgroud)

我得到XML文件,但不是我的模板...

编辑: 我有办法!

format.xml do  
  stream = render_to_string(:template=>"calculations/show" )  
  send_data(stream, :type=>"text/xml",:filename => "test.xml")
end
Run Code Online (Sandbox Code Playgroud)

一切正常!

ruby ruby-on-rails send

14
推荐指数
1
解决办法
6498
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

send ×1