Rails 3从部分导出csv?

时间:2013-02-27 20:19:48

标签: ruby-on-rails-3

我跟随了RBate的Railscast on the subject,但我有一个空洞。

视图以表单开头,用于定义表的变量。在单击提交时,表单将回发到同一视图并重新呈现部分(这只是HTML表)。它不是AJAX,它都是形式的参数。

RBates使用单个变量并在其上调用.to_csv。我有一个复杂的表,其中包含由params定义的许多变量,因此不知道如何在整个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>

这是截屏screenshot

1 个答案:

答案 0 :(得分:0)

回顾这篇文章,我会:

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