是否可以通过javascript / jQuery直接访问Rails.env
?
我可以在DOM中添加一些东西,然后阅读它,但这似乎有点hackish。具体来说,我希望能够根据环境是测试,开发,登台还是生产在javascript中创建条件语句。
答案 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 %>"