#開発環境
ruby 2.3.3p222 (2016-11-21 revision 56859) [i686-linux]
Rails 5.0.0.1
#やりたい事
静的ファイルのダウンロード(.xls)
#実際のコード
index.html.erb
html
1<!-- ヘッダ部などは省略 --> 2<body> 3 <a name="download">download</a> 4</body> 5 6<script> 7 $('[name="download"]').click(function() { 8 $.ajax({ 9 url: 'download', 10 type: 'post', 11 dataType: 'text' 12 }); 13 }); 14</script>
dummy_controller.rb
rb
1def download 2 file_name = 'dummy.xls' 3 file_path = '/home/dummy/' + file_name 4 send_file( 5 file_path, 6 :disposition => 'attachment', 7 :type => 'application/excel', 8 :filename => file_name 9 ) 10end
#実行結果
ブラウザでアプリにアクセスして、downloadをすると、
ログには以下のように出力されますが、ブラウザ上ではダウンロードされた形跡も何もありません。
log
1Started POST "/download" for 127.0.0.1 at 2016-12-22 12:33:01 +0900 2Processing by DummyController#download as TEXT 3Sent file /home/dummy/dummy.xls (0.2ms) 4Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
#参考にしたサイト
http://railsdoc.com/references/send_file
http://piyopiyocs.blog115.fc2.com/blog-entry-445.html
http://d.hatena.ne.jp/gakeno_ueno_horyo/20130721/1374385941
あれこれ試したんですが、全然上手くいかず、当質問に至りました...
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/22 04:55