基于Rails变量的Javascript条件

时间:2010-08-25 06:29:38

标签: javascript ruby-on-rails constants

我想设置一个全局常量(在Rails中),然后根据我要在JavaScript文件中添加一个条件(包含在我的应用程序的每个页面中)。我还有一些基于此变量的Rails依赖代码。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:2)

在application_controller.rb

def before_filter
  # This variable will be available in all controller actions and views
  @my_global = "testing" 
end

在application.html.erb

<script type="text/javascript">
  var my_global = "<%= @my_global %>"
</script>

答案 1 :(得分:1)

您可以定义一个全局变量,如:window.profileName = 'Shikher';。或者如果你需要几个全局变量我建议创建一个范围:

var Globals = {};
Globals.profileName = '<%= @user.profile_name %>';

和其他地方

Globals.userId = '<%= @user.id %>';

如果您将在任何地方使用它,您可以在布局文件中插入全局防御。

答案 2 :(得分:0)

您可以使用此gem http://github.com/ejschmitt/jsvars通过ruby定义javascript变量,然后在js中使用它们