4

以前にpublic/images/flags/public/images/flags_small/. Country モデルの各国について、:iso_code対応する国旗画像の名前と同じ を保存します。たとえば、mx はメキシコの 2 文字の ISO コードであるため、mx.png はメキシコの国旗の名前です。

以前は、html を返して、国の iso コードに基づいて画像を表示するヘルパー メソッドと、大小のフラグのどちらが必要かというヘルパー メソッドがありました。

Rails 3.1 では、アセット パイプラインに準拠するために、これらの画像をapp/assets/imagesフォルダーに入れる必要があるという印象を受けました。これから:

  1. その中のサブフォルダーを維持できますか?
  2. 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
4

2 に答える 2

8
  1. はい、できます

  2. 例えば:<%= image_tag 'flags/uk.gif' %>

于 2011-08-11T16:25:12.007 に答える