新手问题 用 handlebars 后,还怎么用 assets 往里面加图片呢?

QueXuQ · 2014年07月20日 · 最后由 JeskTop 回复于 2014年07月20日 · 2400 次阅读

之前图片还是一直用 css 做 background image 都没有发现这样的问题。

因为用 handlbars 了,用不了 rails 的image_tag那应该怎么样把图片放到 hanlbars 呢? 单纯的<img />那是肯定不行了。

handlebars 是模板引擎吧,用不了 rails 的 image_tag 是啥意思?

handlerbars 只是 template, 你用的 Javascript 方案是什么。

如果前端是用 JSON 来获取数据的话,呼叫 API,让 Rails API 给出 image_tag 就可以了。

#1 楼 @saiga 因为image_tag "img.jpg"的话,最后在正式环境,图片名字会变成img_xxxxx.jpg,所以要正常使用图片,只有使用image_tag,直接用<img src="img.jpg">是无法在正式环境显示图片的。

#2 楼 @billy 图片那块只是静态显示,不是想用 json 显示。因为<img src="img.jpg">无法显示图片,所以看看有什么方法显示?

@QueXuQ 正常理解的话,静态图片应该是全局化的,那这块就不要用 handlerbars 输出了,如果可能,直接在 layout html 里面做。

如果不是全局化的图片,那这些图片肯定是和特定页面有关的,所以。。。还是用 JSON 吧。

可以尝试使用这个 gem,https://github.com/leshill/handlebars_assets 当然,其实在hbs文件后面,加上hbs.erb,然后<img src="<%=asset_path('logo.png')%>">也是可行的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号