にしてください申し訳ありませんが、これは簡単な質問に長い時間がかかりましたが、私の考えを明確にしたいと思っていました。Rails静的アセットを公開/アプリ/アセット/
私は今いくつかのプロジェクトでRails 4を使用していますが、image_tag('/assets/image.png')
を使用して、アセットパスヘルパーがRails 4でどのように動作するかについての変更を回避しています。変更点については、そして、this first change note in sprockets-railsを見出した。また、Railsヘルパーの/actionview/lib/action_view/helpers/asset_url_helper.rb#L170のASSET_PUBLIC_DIRECTORIES
はパブリックフォルダを指しているだけであることにも気付きました。静的ファイルにアクセスしている場合、Railsはパブリックフォルダを使用することを望んでいます。
だから今、私はこれを考え出したことを、私はちょうどは明らかにこの状態なぜエッジレールドキュメントを理解することはできません:Railsの以前のバージョンでは
を、すべての資産がのサブディレクトリに位置していました画像、JavaScript、スタイルシートなどの一般公開されています。アセットパイプラインでは、これらのアセットの優先される場所がapp/assetsディレクトリになりました。
image_pathは実際には全く反対のpublic/imagesフォルダへのURIを生成します。
そして、このすべてをまとめてみると、asset_syncでS3に資産をデプロイするため、利用可能なすべてのヘルパーとダイジェストビルダーを使用する必要があります。
私の質問はちょうどいいです。 画像/非コンパイルアセットを入れ、asset_pathヘルパーを使用する場所がありますか?すべてのドキュメントや他のすべてのスタックオーバーフローの会話は、app/assetsフォルダを使用している人に関するものですが、sprockets-railsは、非ダイジェストアセットにpublicを使用したいと考えています。更新が必要なウェブ上のドキュメントや情報はありますか、/ assets /ですべてのアセットパスを先読みしているだけなのですか?
更新:私は実際に開発サーバーを再起動していなかった問題を抱えていたと思います。アプリケーション/アセット/イメージの画像が公開されないようになっていました。また、私はpaperclip default_urlでアセットヘルパーを使用していたことにも注意してください(これは、見つかったスタックオーバーフローのいくつかの回答でアセットをポイントする方法として参照されています。 uninterpolated資産名は明らかに既存のファイルとして検出されません。
グーグルでこれを見つけた人のために、アセットについては、Railsガイドhttp://guides.rubyonrails.org/asset_pipeline.htmlで説明しています。 –