我正在Ruby on Rails中创建一个网站.我有一个控制器动作,呈现如下视图:
def show
time_left = Time.now.to_i - 3.hours.to_i
@character = current_user.characters.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @character }
end
end
Run Code Online (Sandbox Code Playgroud)
这很好,因为它像我喜欢的那样呈现show.html.erb.然而,我想以某种方式将time_left作为Javascript变量传递给视图,因为这个值被倒计时JQuery插件使用.
我可以在HTML页面上放置一个javascript块并打印出一个实例变量,如下所示:
<script type="javascript"> $('#countdown').countdown('<%= @time_left =>')</script>
Run Code Online (Sandbox Code Playgroud)
但我想将所有的JS保存在一个外部文件中,在页面外可以有人就如何实现这一点给出一些建议吗?
在我的rails 3.1.3应用程序中,我想在我的javascript文件中插入一些ERB代码但是由于某种原因它没有被解析:
# app/assets/javascripts/application.js
//= require_tree ./shared
# app/assets/javascripts/shared/shared.js.erb
MM.loading = '<img src="<%= asset_path("icons/ajax-loader.gif") >">';
Run Code Online (Sandbox Code Playgroud)
获取如下所示/application.js:
MM.loading = '<img src=" asset_path("icons/ajax-loader.gif") >">';
Run Code Online (Sandbox Code Playgroud)
我在导轨指南中看不到任何额外的步骤 - 有什么我想念的吗?顺便说一下,我正在使用haml作为视图文件,并且还尝试了上面的内容.js.haml,包含在中#{...}.