簡単な例を次に示します。表示された画像から PDF ダウンロードにリンクする方法がわかりません。とても単純に思えますが、send_data を動作させることができません。
send_data()
メソッドが認識されていないように見えるテキストハイライトはありません。
私からしてみれば:
<%= link_to(image_tag('my_image.png'), 'download_pdf_version') %>
私のコントローラーで:
def download_pdf_version
#send_file('#{RAILS_ROOT}/my_pdf.pdf', :type => 'application/pdf', :disposition => 'attachment')
send_file('#{RAILS_ROOT}/public/pdfs/my_pdf.pdf')
end
更新された config/routes.rb:
MyApp::Application.routes.draw do
...
get "my_controller/download_pdf_version"
...
public
ディレクトリ内の / / ディレクトリにpdf を配置しようとしassets
ましたが、ファイルへのパスで非常に多くの順列を試しました。メソッドが呼び出されることを分離しましたが、pdf ファイルへのパスが間違っているようです。
エラー画面:
ActionController::MissingFile ...
Cannot read file #{RAILS_ROOT}/public/pdfs/my_pdf.pdf