0

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

テンプレートがありません

{:locale=>[:en], :formats=>[:csv], :handlers=>[:erb, :builder, :coffee]} のテンプレートpatient_record/show、application/showがありません。検索場所: * "/Users/samantha.klonaris/RubymineProjects/intermediate_form_reader/app/views"

4

1 に答える 1

0

参照した RailsCast のチュートリアルではproducts_path、 ProductsController のアクションに対応していましたindexProductsController#indexRyan は、csv への応答をどのように定義したかを示しました。

あなたのケースでは、patient_record_path通常、どの患者を指定するPatientRecordsControllerアクションshowと引数で which を呼び出しました。メソッド定義を示しましたshowが、それは という名前のファイルに含まれており、これはクラス定義record_controller.rbの通常の命名ではありません。このエラーは、定義を持つ別のクラスPatientRecordsControllerがあることを示唆していますが、対応するショー テンプレートをレンダリングするようにデフォルト設定されています。PatientRecordsControllershow

他のコメンターが言及したように、あなたの呼び出しには問題があるto_csvと思いますが、現時点ではそのコードに到達していないと思います.

于 2013-07-02T18:04:59.297 に答える