Ai đó có thể giúp tôi với việc tạo mẫu XML và gửi_data không?Làm thế nào để kết xuất khuôn mẫu XML và sau đó sử dụng SEND_DATA trong Ruby on Rails 3.2.8?
Tôi có một bộ điều khiển:
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
Nhưng tôi có nhiều lỗi với "chồng mức quá sâu"
Nếu tôi sử dụng
{send_data(@calculation, :filename => "my_file.xml") }
tôi nhận được tập tin XML, nhưng không phải từ mẫu của tôi ...
EDIT: Tôi đã có một cách!
format.xml do
stream = render_to_string(:template=>"calculations/show")
send_data(stream, :type=>"text/xml",:filename => "test.xml")
end
Và tất cả đều hoạt động bình thường!
Bạn có thể đăng toàn bộ dấu vết của bạn? – sunnyrjuneja
SystemStackError trong tính toánController # show mức ngăn xếp quá sâu Rails.root: C: /RubyStack-3.2.5-0/examplexml Trace ứng dụng | Khung Trace | Toàn bộ dấu vết actionpack (3.2.5) lib/action_dispatch/middleware/reloader.rb: 70 – Dmitry
Tôi có thể có kết quả trong Chrome của mình với: format.xml {render: format => false} Nhưng chỉ màn hình, không phải để tải xuống – Dmitry