public/images に保存されている画像パスの先頭image_path
に追加することを主張するのはなぜですか?assets/
私は写真家のウェブサイトを構築しているので、レイアウトの一部として表示されるいくつかの写真のランダムなサブセレクションを含め、当然のことながら写真をそこに入れたいと考えています。さらに、すべての写真を表示するだけの非常にシンプルなギャラリーを作成しました。これらの画像ファイルは次の場所に保存されます。
public/images/gallery
ImageMagick gem を取得して、目的のサイズに縮小しました。これらの小さなファイルは次の場所に保存されます。
public/images/gallery/sm/
縮小は、レイアウト ERB のレンダリングの一部として、ページの読み込み時に行われます。最初はひどく聞こえるかもしれませんが、画像を 1 回だけ縮小します。遅延縮小は、新しい写真を追加するためにサーバーを再起動する必要がないことを意味します (彼はやりたいと思っていました)。
私の読みでは、アセット パイプラインは静的レイアウト用であることが示唆されていますが、これはそれよりも動的です。特にプロダクションモードのRailsは、生成されたサムネイルがコンパイルされていないと不平を言うので、 public/images がこのようなものに行くべき場所であると信じるようになりました。
問題に入ります: これらの画像を上記のパスに配置すると、image_path はアセット パイプライン パスのように見えるものを返します。サブディレクトリをフラット化し、すべてを public/images に配置しても機能しません。
私の回避策は、タグを手動で作成することです。では、image_path (および拡張では image_tag) はアセット パイプライン用のみですか? パブリック イメージの文字列からタグを作成する必要がありますか? image_path は最初に一致するファイルをパブリックで検索することになっているという言及も見つけましたが、それを主張するドキュメント ( http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html ) も見ました。パスを返すものの存在を確認しません。