2012-04-12 3 views
2

私はRailsで新しく、次のエラーがなぜ発生するのか理解できません。私はpdfファイルといくつかの画像をダウンロードしてリンクしたページを持っています。ビューでrails 3.2のpdfへのダウンロードリンクを設定するにはどうすればよいですか?

:コントローラで

link_to(image_tag('image.png'),:controller=>'home',:action=>'download', :file_name => 'image.pdf') %> 

def download 
    send_file "#{RAILS_ROOT}/assets/pdf/#{params[:file_name]}", :type=>"text/pdf" 
end 

私は開発環境でファイルをダウンロードしようとすると、私は次のエラーを取得する:

No route matches [GET] "/assets" 

私はファイルへのパスを変更し、GoogleとSOを検索しようとしました。私はこれが比較的単純な修正でなければならないと考えています。おそらく資産パイプラインと関係がありますが、誰かが私を正しい方向に向けることができれば、とても幸せです。

答えて

1

こんにちは私は自分自身でこの問題に遭遇しました。私の解決策(レール2.0.2)は、pdfファイルをアプリケーションのパブリックディレクトリに置き、直接リンクwww.yoursite.com/my.pdfを作成することでしたすぐにダウンロードが実行されます。

これはなぜですか? あなたのアプリを配備してしまえば、rakeアセット:プリコンパイルが実行され、アセットがパブリックディレクトリに表示されます。

また、私はこれらのファイルをコミットアドバイスではないでしょうが、

$:. rake assets:precompile RAILS_ENV="development" 

を実行することによって、この地域の操作を行うことができます。

+0

ありがとうございます!これは私が使い終わった解決策でした。なぜ私が資産のパスエラーを取得していたのかまだ分かりません。それは別の問題に関連していると思います... – bgmarx

関連する問題