4
私は以前にpublic/images/flags/
とpublic/images/flags_small/
に保管していた~500枚以上の旗画像を持っています。私の国モデルの各国については、:iso_code
が格納されています。これはそれに対応するフラグ画像の名前と同じです。たとえば、mxはメキシコの2文字のISOコードであるため、mx.pngはメキシコのフラグの名前です。Rails 3.1:アセットパイプラインの画像へのダイナミックリンク?
私はこれまで、国のアイソコードと大きなか小さなフラグを必要とするかどうかに基づいて画像を表示するためのhtmlを返すヘルパーメソッドを持っていました。
Rails 3.1では、アセットパイプラインに準拠するため、これらの画像をapp/assets/images
フォルダに入れる必要があります。これから:
- サブフォルダを保持することはできますか?
- image_tagを使用して適切な画像を表示するにはどうすればよいですか?
編集:ソリューション 以下の答えが正解だったが、私は多くのコードを毎回入力したくなかったので、私は2つのヘルパー・メソッドを作成:はい
def flag(country)
image_tag('/assets/flags/' + country.iso_code.downcase + '.png')
end
def small_flag(country)
image_tag('/assets/flag_small/' + country.iso_code.downcase + '.png')
end
これは動作しません。 'ActionController :: RoutingError(ルートは[GET]と一致しません" /assets/flags/uk.png ")というエラーを返します:' – Clay
Duh。それはuk.pngがないからです。それはgb.pngです。 :)ありがとう、あなたのコードが動作します。 – Clay