Ruby on rails 3 覆盖rails 3中的“使用表单格式化”按钮

Ruby on rails 3 覆盖rails 3中的“使用表单格式化”按钮,ruby-on-rails-3,respond-to,Ruby On Rails 3,Respond To,我有一组使用Rails调用“respond_to”以各种格式显示的报告,因此,如果URL以CSV或JSON结尾,则报告将以该格式生成 我曾请求创建一个下载按钮,以便更轻松地获取报告,但由于报告具有日期范围等自定义设置,我需要能够提交一个表单并在表单中指定响应格式。这可能吗?怎样才能做到呢 表格编号: <%= form_tag('', method: 'get') do %> <%= hidden_field_tag('s',params[:s]) %> &

我有一组使用Rails调用“respond_to”以各种格式显示的报告,因此,如果URL以CSV或JSON结尾,则报告将以该格式生成

我曾请求创建一个下载按钮,以便更轻松地获取报告,但由于报告具有日期范围等自定义设置,我需要能够提交一个表单并在表单中指定响应格式。这可能吗?怎样才能做到呢

表格编号:

<%= form_tag('', method: 'get') do %>
    <%= hidden_field_tag('s',params[:s]) %>
    <%= select_tag "date_interval", options_from_collection_for_select(Admin::ReportController::DATE_INTERVALS.to_a, 'first', 'last') %>
    <%= label_tag('start_at','Start at') %> <%= text_field_tag('start_at', @start_at, class: 'datetimeselect') %>
    <%= label_tag('end_at','End at') %> <%= text_field_tag('end_at', @end_at, class: 'datetimeselect') %>
    <script>
        $('.datetimeselect').datetimepicker({format: "Y-m-d H O"});
    </script>
    <%= button_tag( 'HTML', :value => 'html', :name => 'run' ) %>
    <%= button_tag( 'CSV', :value => 'csv', :name => 'run' ) %>
    <%= button_tag( 'JSON', :value => 'json', :name => 'run' ) %>
<% end %>
当我在URL中指定扩展名时,我要寻找的是一种使用上面名为“run”的按钮中的按钮值来覆盖该扩展名的方法


提前谢谢你

现在我终于可以回答我自己的问题了。答案是:

我想出了如何做到这一点。您可以将按钮的名称设置为“格式”,并将值设置为要附加到URL的扩展名

 <%= button_tag( 'HTML', :value => 'html', :name => 'format' ) %>
 <%= button_tag( 'CSV', :value => 'csv', :name => 'format' ) %>
 <%= button_tag( 'JSON', :value => 'json', :name => 'format' ) %> 
'html',:name=>'format')%>
“csv',:name=>format')%>
'json',:name=>format')%>

简单地更改参数[:format]不起作用。您必须在操作运行之前将其传递。

太好了,还与formtastic
semantic\u form\u for
一起使用。非常感谢。
 <%= button_tag( 'HTML', :value => 'html', :name => 'format' ) %>
 <%= button_tag( 'CSV', :value => 'csv', :name => 'format' ) %>
 <%= button_tag( 'JSON', :value => 'json', :name => 'format' ) %>