在jQuery中访问Rails.env变量?

时间:2013-12-04 16:42:34

标签: javascript jquery ruby-on-rails ruby-on-rails-3

是否可以通过javascript / jQuery直接访问Rails.env

我可以在DOM中添加一些东西,然后阅读它,但这似乎有点hackish。具体来说,我希望能够根据环境是测试,开发,登台还是生产在javascript中创建条件语句。

2 个答案:

答案 0 :(得分:5)

Rails在服务器上。 jQuery在客户端上。您必须以某种方式从服务器向客户端提供信息。典型的方法是使用服务器端代码输出一些JavaScript,如下所示:

<script>
var environment = "<%= Rails.env %>";
</script>

...假设该值不会有双引号。如果有必要,Rails可能与PHP json_encode相当。

答案 1 :(得分:0)

事实证明,如果不从DOM读取,这是可能的;我的解决方案是在预编译之前将环境变量插入到js文件中。

myfile.js.coffee更改为myfile.js.coffee.erb,然后使用与视图等相同的Ruby插入:

environment = "<%= Rails.env %>"