0

我在这个主题上关注了 RBate 的Railscast,但我有一个 caviat。

该视图以定义表变量的表单开始。单击提交后,表单将返回到同一视图并重新呈现部分(这只是 HTML 表)。这不是 AJAX,都是表单参数。

RBates 使用单个变量并在其上调用 .to_csv。我有一个复杂的表,其中包含由参数定义的许多变量,因此不知道如何在整个 HTML 表上调用 .to_csv 。

我需要能够只导出部分结果。

提前感谢您的想法。

&&&&&&&& 应要求,示例代码:&&&&&&&&

所以,完整的代码可能比有用更令人困惑,但这里有一个精简的版本:

stats/reporter.html.erb:(stat_reporter_path 匹配此 URI)

<%= form_tag( :stat_reporter, method: :post ) do %>
    form is in here
    <%= submit_tag "Get my report" %>
<% end %>

<div>
    <%= render 'stat_select' %>
</div>

统计/_stat_select:

<table>
  <thead>
    <tr>...column heads...</tr>
  </thead>
  <tbody>
    <% @counties.each do |c| %>
      <td><%= c.name %></td>
        <% c.programs.each do |p| %>
          <td><%= p.name %></td>
            <% p.events.each do |e| %>
              <td><%= e.name %></td>
...and so on...
</table>

这是一个屏幕截图截屏

4

1 回答 1

0

回顾这篇文章,我会:

  1. 创建指向新视图的链接并将所有变量传递到 URL 中。
  2. 该视图将使用所有变量来创建可用于创建 to_csv 方法的 HTML 输出
  3. 创建 csv 文件后,控制器将呈现原始视图。
于 2014-07-02T03:48:08.033 回答