javascript - 根据环境在 Rails 中加载不同的 Javascript 文件

标签 javascript ruby-on-rails asset-pipeline erb

在 Rails 3.2 中根据您的环境(生产或开发)加载不同的 Javascript 文件的最佳方法是什么?我正在尝试创建一个全局(是的,全局)javascript 变量,它应该根据环境而变化。该变量由 JQuery 调用,但我编写的其他一些 javascript 文件需要该变量。

最好生成一个 application.js.erb ,它是根据我们正在运行的环境动态生成的,还是我遗漏了什么?

谢谢

最佳答案

What is the best way to load a different JavaScript file based on your environment (production or development) in Rails 3.2?

在您的应用程序布局中,您可以像这样添加特定于环境的 js 文件:

<% if Rails.env.development? %>
  <%= javascript_include_tag 'development.js' %>
<% end %>

或者更简洁的方式:

<% javascript_include_file "#{RAILS_ENV}.js" %>

您可以通过创建特定的 js 文件并在 application.js.erb 中要求以另一种方式实现相同的结果:

env_config.js.erb

<%= Rails.env.production? ? 'productionConf();' : 'regularConf();' %>

application.js.erb

//= require env_config
//= require jquery
...

关于javascript - 根据环境在 Rails 中加载不同的 Javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208137/

相关文章:

ruby-on-rails - 如何避免在 factory_girl 中循环创建关联模型?

ruby-on-rails - 为什么 ActionView::Helpers::UrlHelper 在 Assets 管道中不可用?

ruby-on-rails - 禁用 Rails 中的资源预编译功能

html - Foundation 5 图标在生产中不起作用,rails

javascript - 如何在图标单击时激活拖放区

javascript - 在 React Redux 中更新嵌套状态,语法有什么问题?有没有更好的方法来编写这个 reducer ?

javascript - 将图标包含在可单击文本的目标区域中的最佳方法是什么?

ruby-on-rails - CanCanCan:授权/取消授权特定模型属性

ruby-on-rails - 在 Rails 3.1 Asset Pipeline 中放置 Galleria(jQuery 图像库框架)的位置?

javascript - 渲染 XML 文档