web-dev-qa-db-ja.com

ruby on Rails link_to a image

私は次の問題に直面しています:私は次のディレクトリにある画像ファイルを備えた非常に小さな画像ギャラリーを持っています

 app/assets/images/locale/thumbs/
 app/assets/images/locale/big/

コンテンツとして親指の画像とターゲットとしてハイパーリンクを作成する必要がありますapp/assets/images/locale/big /フォルダーからのより大きなバージョン:

<a href="path-to-full-size-image-001.jpg">
 <img alt="first photo preview" src="/assets/locale/thumbs/001.jpg" />
</a>

私はこれをやっています

= link_to(image_tag("locale/thumbs/001.jpg"),  "locale/big/spizzicaluna001.jpg") 

実際、私はlink_toの2番目の引数に対して多くのバリアントを試しましたが、ほとんど成功しませんでした-より大きなファイルが見つかりません。

この問題を解決するにはどうすればよいですか?

14
Andrew

この問題には2つのアプローチがあります。

  1. パスにアセットフォルダーを指定する必要があります。

    link_to(image_tag( "locale/thumbs/001.jpg")、 "/assets/locale/big/spizzicaluna001.jpg")

  2. Railsが正しい画像を見つけることができるように、画像パスを使用します

    link_to(image_tag( "locale/thumbs/001.jpg")、image_path( "locale/big/spizzicaluna001.jpg"))

Image_pathの詳細:

http://apidock.com/Rails/ActionView/Helpers/AssetTagHelper/image_path

28
robinjohnobrien