link_to Rails 5 中带有参数的 path(:xml)



我有一个控制器,可以从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中发送参数吗?

有一个名为"format"的保留选项,您应该使用它:

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

这将生成类似 /reports/rides.xml . (不知道你的路线是什么(

最新更新