1

Rails 3アプリケーションでは、ユーザーがダウンロードできるCSVテンプレートを提供しています。ダウンロードする代わりに、テキストを新しいタブで開くだけです。コードは次のとおりです。

<a href="/templates/myFile.csv" target="_blank">click here</a>

これは以前私のために働いていました、そして私はそれを壊すために何が変わったのかわかりません。これに似た他の質問target='_blank'は、ヘッダーを追加または変更することを提案していますが、そうすることはあまりうまくいきませんでした。

私はそれが違いを生むべきではないと思います、しかしこのリンクはここから来る体のモーダルの中にあります:

<div class="modal hide" id="helpModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <%= modal_header "Help" %>
   <div class="modal-body">
    <%= render 'help' %>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  </div>
</div>
4

2 に答える 2

5

send_fileメソッドを使用できます。

def download_file(file_path)
   send_file(file_path, :type => 'text/csv', :disposition => "attachment")
end

このメソッドをコントローラーとルートに追加して、ビューで使用できます。

link_to "Download", download_file_path('some_file.csv')
于 2012-10-08T16:49:58.557 に答える
0

target = "_ blank"は、ファイルを新しいタブで開きます。ただし、タブでファイルを開くか、ファイルをダウンロードするかどうかを尋ねるのは、ブラウザの設定によって異なります。

于 2012-10-08T16:02:41.107 に答える