大家好,
可以在单独的 js 文件中使用 var online_users = #{@users} 吗?
var online_users = #{@users}
var online_users = "<%= @users %>"
在单独的 js 文件里,不 work 吧
只能在 views 裡寫 js, 若不想這麼作,gon 很適合。
gazay/gon http://j.mp/JeszBk
可以在 helepr 里 expose 些全局的 js 对象
# app/helpers/application_helper.rb module ApplicationHelper def render_js_app_object { :user => current_user :users => @users }.to_json.html_safe end end
# app/views/layouts/application.html.erb ... <%= javascript_tag do %> window.app = <%= render_js_app_object %>; <% end %> <%= javascript_include_tag "application" %> ...
用 .js.erb 后缀
#5 楼 @Rei 你好,用后缀的话需要写 render 吗?
#6 楼 @hlcfan 这个 js 文件是怎么调用的?
如果是 respond_to ... format.js,可以自动找到,不过我印象中要写个 render :layout => false
ruby-china/app/assets/javascripts/app.coffee example: $(to).before("<div data-alert class='alert-message'><a class='close' href='#'>X</a>#{msg}</div>")
$(to).before("<div data-alert class='alert-message'><a class='close' href='#'>X</a>#{msg}</div>")