我有大约 500 多张以前保存在public/images/flags/
和public/images/flags_small/
. 对于我的 Country 模型中的每个国家/地区,我存储:iso_code
,它与对应的标志图像的名称相同。例如,mx.png 是墨西哥国旗的名称,因为 mx 是墨西哥的两个字母 ISO 代码。
我以前有一个帮助方法,它会根据国家的 iso 代码以及我想要大旗还是小旗来返回 html 以显示图像。
对于 Rails 3.1,为了符合资产管道,我的印象是这些图像应该进入app/assets/images
文件夹。从此:
- 我可以在其中维护子文件夹吗?
- 如何使用 image_tag 显示适当的图像?
编辑:解决方案 下面的答案是正确的,但我不想每次都输入那么多代码,所以我创建了两个辅助方法:
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