我正在使用Rails Gon
https://github.com/gazay/gon
从控制器轻松插入视图中获取数据
获得一个想法(仅作为示例):

def show
 gon.alert = "this is an alert"
end


现在在我的show.haml中:

:javascript
  alert(gon.alert)


现在,我始终可以访问在控制器操作中设置的gon值,但是要从应用程序中访问gon值怎么办?咖啡?


在哪里设置gon.current_user = 1我可以在application.coffee内部使用?

最佳答案

如果要设置可从每个控制器操作访问的gon值,从而始终在application.coffee中可用,则可以在before_filter中设置ApplicationController

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :set_gon_values

  private

  def set_gon_values
    gon.current_user = 1  # or whatever you want to set here
  end
end


这将在所有控制器上的每个动作之前运行set_gon_values方法。之所以可行,是因为您的所有控制器都继承自ApplicationController

关于javascript - 如何将gon值传递给application.coffee?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9957681/

10-09 17:36