link_to path(:xml),其中包含Rails 5中的参数

时间:2017-04-06 16:10:40

标签: ruby-on-rails xml ruby-on-rails-5

我有一个控制器,可以从URL参数(GET)获取开始和结束日期,并在此时间范围内获取所有游戏,并在我的视图模板中输出它们。

@from = params[:from].to_date.beginning_of_day
@until = params[:until].to_date.end_of_day
@rides = current_user.rides.where(:date => @from..@until)

当我将其渲染为HTML时没问题。但我也希望能够呈现为xml,我已经编写了我的xml.builder模板但是在传递日期范围参数时遇到了问题。

现在我的link_to看起来像这样:

<%= link_to "Export", report_rides_path(:xml) %>

在我的控制器中,我有:

respond_to do |format|
      format.html
      format.xml { send_data(render_to_string(:template=>"report/rides" ), :type=>"text/xml",:filename => "export.xml") }
end

有什么办法可以在link_to中发送参数吗?

1 个答案:

答案 0 :(得分:0)

有一个名为&#34; format&#34;的保留选项,你应该使用它:

<%= link_to "Export", report_rides_path(format: :xml) %>

会产生类似/reports/rides.xml的内容。 (不知道你的路线是什么)