Ruby on rails Rails单个视图中的多个CSV导出按钮(即两个或更多)

Ruby on rails Rails单个视图中的多个CSV导出按钮(即两个或更多),ruby-on-rails,csv,export-to-csv,Ruby On Rails,Csv,Export To Csv,我跟踪了Railscasts和类似的GoRails视频,搜索了[rails][csv]export,但没有结果。有一个类似但很难理解的问题/答案叫做。我可以添加一个按钮将我的表记录导出到csv(已为此按钮选择了所有记录) 我想在我的查看页面中添加第二个(或第n个)按钮,以导出表记录的子集…例如事件。除导出模型所有记录的当前(正常工作)按钮/下载外,还有(国家/地区:某些国家/地区)。我认为这将是csv导出的常见用法。 以下是我所拥有的,反向工作: 事件索引视图:我有一个下载按钮可导出到CSV(为

我跟踪了Railscasts和类似的GoRails视频,搜索了
[rails][csv]export
,但没有结果。有一个类似但很难理解的问题/答案叫做。我可以添加一个按钮将我的表记录导出到csv(已为此按钮选择了所有记录)

我想在我的查看页面中添加第二个(或第n个)按钮,以导出表记录的子集…例如<代码>事件。除导出模型所有记录的当前(正常工作)按钮/下载外,还有(国家/地区:某些国家/地区)。我认为这将是csv导出的常见用法。

以下是我所拥有的,反向工作:

事件索引视图:我有一个下载按钮可导出到CSV(为字形图像添加了辅助代码)

我是否应该在
respond\u to do…
中添加第二个
format.csv
?尝试了那个(即定义了一个不同的实例变量,如
@events\u us=Event.where(country:“us”)
,但没用。但是有两个
格式的.csv
似乎很奇怪。而且,我得到了
没有路径匹配[get]“/@events\u us.csv”

我可能不需要说太多了,因为我在这件事上迷失了方向

事件模型:使用
所有
范围、csv库等组织csv:

def self.to_csv
    column_names = Event.column_names.map(&:to_s) - %w[id created_at updated_at]

    CSV.generate(headers: true) do |csv|
        csv << column_names
        all.each do |record|
            csv << record.attributes.values_at(*column_names)
        end
    end
end
def index
  @search = Event.ransack(params[:q])
  @events = @search.result.paginate(:page => params[:page], :per_page => 50)

  @events_all = Event.all

  respond_to do |format|
    format.html # need to have html
    format.csv { send_data @events_all.to_csv, filename: "Events-#{Date.today}.csv" }
  end
end
def self.to_csv
    column_names = Event.column_names.map(&:to_s) - %w[id created_at updated_at]

    CSV.generate(headers: true) do |csv|
        csv << column_names
        all.each do |record|
            csv << record.attributes.values_at(*column_names)
        end
    end
end
def self.to_csv_us
    column_names = Event.column_names.map(&:to_s) - %w[id created_at updated_at]

    CSV.generate(headers: true) do |csv|
        csv << column_names
        @events_us.each do |record|
            csv << record.attributes.values_at(*column_names)
        end
    end
end