私はこれを長年にわたって試みてきましたが、それを回避することはできません。URL形式に基づく動的なasset_host - 文字列のために呼び出されるプライベートメソッド形式
URLの末尾が.pdf
の場合asset_host
はファイルをローカルに取得します。
だから私は私のdevelopment.rb
ファイル
config.action_controller.asset_host = Proc.new { |source,request|
source.format.to_s.match(/pdf/) ?
"file://#{Rails.root.join('public')}" :
"#{request.protocol}#{request.host_with_port}"
}
で次の操作を行います。しかし、これは私のようなエラー与える: 「/stylesheets/css3buttons/reset.cssを呼びかけ
プライベートメソッド `フォーマット」を?1304745651" :文字列
質問
URLリクエストのフォーマットを検出するための最良の方法は何ですか?
更新 私はsource
、request.media_type
とrequest.format
を試してみたが、それらはいずれもPDFをフェッチしません!!
以下にログが表示されます。私は上記の3つのそれぞれについてデバッグ文を追加しました。
config.action_controller.asset_host = Proc.new { |source, request|
print "Source: " + source
print "\n"
print "request.media_type: " + request.media_type
print "\n"
print "request.format: " + request.format
print "\n"
}
出典: /stylesheets/css3buttons/reset.css?1304745651 request.media_type:request.format: テキスト/ HTMLソース: /stylesheets/css3buttons/css3-github-buttons.css ?1304745651 request.media_type:request.format: テキスト/ HTMLソース: /stylesheets/application.css?1304780110 request.media_type:request.format: テキスト/ HTMLソース: /stylesheets/button-basics.css ?1303711277 request.media_type:req uest.format: テキスト/ HTMLソース: /stylesheets/global.css?1304739877 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/jquery.js?1302484024 request.media_type:要求。形式: テキスト/ HTMLソース: /javascripts/rails.js?1302488107 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/jquery.maskedinput.js?1302484474 request.media_type:要求。形式: text/htmlソース: /javascripts/application.js?1300318225 request.media_type:request.format: text/htmlソース: /javascripts/jquery.js?1302484024 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/rails.js?1302488107 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/formToWizard.js?1256698412 request.media_type:request.format: text/htmlソース: /javascripts/application.js?1300318225 request.media_type:request。形式: テキスト/ HTMLソース: /javascripts/jquery.js?1302484024 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/rails.js?1302488107 request.media_type:request.format: テキスト/ HTMLソース: /javascripts/rails_validations.js request.media_type:request.format: テキスト/ HTMLソース: /javascripts/application.js?1300318225 request.media_type:request.format: text/htmlの
開始GET "/medicalhistories/9.pdf" 127.0.0.1 for S私
index.html.erb
でPDFへのリンクを生成し、国連の5月8日17時○○分15秒 -0400 2011
コードは以下の通りです: