访问jails for Rails中的asset_host?

时间:2014-03-05 19:58:45

标签: ruby-on-rails asset-pipeline

我有以下javascript(为了清晰起见缩短了):

$modal = $('<img src="/assets/loading.gif">');
$('body').append($modal);

但我不确定如何在该javascript中访问asset_host?有什么建议? (我试图不使用咖啡脚本)

1 个答案:

答案 0 :(得分:1)

有几种选择:


asset_path

如果您没有访问资产管道中的文件(因此可以使用ERB代码),您可以使用:

$img = '<%=j image_tag asset_path("loading.gif)" %>'
$('body').append($img);

Gon

如果您要访问资产管道内部(您只能使用纯JS),则必须通过HTML将资产主机变量传递给JS。 Gon是一个很好的方法:

#config/initializers/gon.rb
gon.push({asset_host: ActionController::Base.asset_host})

#app/views/layouts/application.html.erb
<%= include_gon %>

#app/assets/javascripts/application.js
$modal = $('<img src="' + gon.asset_host + '/assets/loading.gif">');
$('body').append($modal);

获得asset_host reference from here