尝试下载时找不到csv模板

时间:2013-07-02 16:49:16

标签: ruby-on-rails csv export

show.html.erb

<%= link_to "CSV", patient_record_path(format: "csv") %>

record_controller.rb

def show

    @data_filtered = PatientData.new(:data => getDataFromURL)

    respond_to do |format|
      format.html
      format.csv { send_data @data_filtered.to_csv }
    end
end

patient_data.rb(模特)

def self.to_csv
    CSV.generate({}) do |csv|
        csv << data.first.keys
        data.each do |hash|
           csv << hash.values
        end
    end

当我点击CSV链接导出时,我收到错误消息。我需要'csv' 这是我遵循http://railscasts.com/episodes/362-exporting-csv-and-excel?view=asciicast

的指南

缺少模板

缺少模板patient_record / show,application / show with {:locale =&gt; [:en],:formats =&gt; [:csv],:handlers =&gt; [:erb,:builder,:coffee]} 。搜索:*“/Users/samantha.klonaris/RubymineProjects/intermediate_form_reader/app/views”

1 个答案:

答案 0 :(得分:0)

在您引用的RailsCast教程中,products_path对应于ProductsController,其操作为index。 Ryan向您展示了他如何定义ProductsController#index以响应csv。

在您的情况下,您调用了patient_record_pathPatientRecordsController通常映射到show,动作为show,参数指定哪个患者。您已向我们展示了record_controller.rb方法定义,但它包含在名为PatientRecordsController的文件中,该文件不是PatientRecordsController类定义的正常命名。该错误表明您有一个单独的show类,其定义为to_csv,但默认为呈现相应的展示模板。

我认为您的{{1}}调用存在问题,正如其他评论者所提到的那样,但我认为您此时并未考虑该代码。