- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组报告,这些报告使用 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 %>
def format_results
respond_to do |format|
format.html {
# default render of HTML table
}
format.json {
render json: { results: @results[:results], header: @results[:header], name: @results[:name], stats: { rows: @results.count } }, layout: false
}
format.csv {
render text: report_to_csv( @results ), content_type: 'text/csv', layout: false
}
end
end
最佳答案
我终于可以回答我自己的问题了,现在。所以这是答案:
我想出了如何实现这一点。您可以将按钮的名称设置为“格式”,并将值设置为要附加到 URL 的扩展名。
<%= button_tag( 'HTML', :value => 'html', :name => 'format' ) %>
<%= button_tag( 'CSV', :value => 'csv', :name => 'format' ) %>
<%= button_tag( 'JSON', :value => 'json', :name => 'format' ) %>
关于ruby-on-rails-3 - 使用 rails 3 中的表单按钮覆盖 response_to 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159911/
到现在为止,我一直使用 Responds_to 块指定操作的响应格式,如下所示: responds_to do |format| format.js { render :json => @reco
在添加书目表单中,我创建了一个添加作者表单,该表单使用 json 添加作者。 这工作正常。 但是,当作者被添加到数据库时,我想显示一条成功消息。 这是我的代码: def create @aut
我明白了 respond_to当它被这样调用时工作: def index @users = User.all respond_to do |format| format.html
我有一组报告,这些报告使用 Rails 调用“respond_to”以各种格式显示,这样如果 URL 以 CSV 或 JSON 结尾,则以该格式生成报告。 我请求制作一个下载按钮,以便更轻松地获取报告
我的 Controller 中有以下代码可以导出 csv 文件 ... def export @filename = 'users.csv' @output_encoding =
我在获取 jQuery Form Plugin 时遇到了一些麻烦使用文件上传字段正常工作。当我使用插件提交没有文件上传字段的表单时,format.json respond_to do |format|
我有一个具有 if 条件的 Controller : def update @contact_email = ContactEmail.find(params[:id]) if @
这是我的 Controller 操作中的常见模式: respond_to do |format| format.html {} format.js { render :layout =
我是一名优秀的程序员,十分优秀!