【发布时间】:2013-12-21 06:33:09
【问题描述】:
是否可以通过 javascript/jQuery 以某种方式直接访问Rails.env?
我可以在 DOM 中放一些东西然后读取它,但这似乎有点生硬。具体来说,我希望能够根据环境是测试、开发、登台还是生产,在 javascript 中做出条件语句。
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby-on-rails-3
是否可以通过 javascript/jQuery 以某种方式直接访问Rails.env?
我可以在 DOM 中放一些东西然后读取它,但这似乎有点生硬。具体来说,我希望能够根据环境是测试、开发、登台还是生产,在 javascript 中做出条件语句。
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby-on-rails-3
Rails 在服务器上。 jQuery 在客户端。您必须以某种方式从服务器向客户端提供信息。典型的方式是使用服务器端代码输出一点 JavaScript,如下所示:
<script>
var environment = "<%= Rails.env %>";
</script>
...假设该值中没有双引号。 Rails 可能具有相当于 PHP 的 json_encode 的功能,如果需要,您可以使用。
【讨论】:
事实证明这是可能的,无需从 DOM 中读取;我的解决方案是在预编译之前将环境变量插入到 js 文件中。
将myfile.js.coffee 更改为myfile.js.coffee.erb,然后用Ruby 插入视图等:
environment = "<%= Rails.env %>"
【讨论】: