如何仅为开发环境要求资产

时间:2011-10-04 04:13:20

标签: ruby-on-rails ruby-on-rails-3 sprockets asset-pipeline

我正在使用Rails 3.1中的资产管道,我想只在开发环境中包含一些javascript文件。

示例:

//= require application/jquery
//= require application/jquery_ujs
// next ones only for development environment
//= require application/badglobals
//= require application/consul

有这样做的标准方法吗?有什么建议吗?

更新

查看Sprockets当前的文档,似乎没有办法做到这一点。

2 个答案:

答案 0 :(得分:11)

为什么不在视图中要求这些?将它们装入资产是否重要?要在视图中加载它们:

<% if Rails.env.development? %>
  <%= javascript_include_tag "application/badglobals" %>
  <%= javascript_include_tag "application/consul" %>
<% end %>

答案 1 :(得分:2)

如果您将application.js文件(或您正在调用的//= require ...中的任何一个文件)重命名为application.js.erb,则可以利用require_asset。即:

//= require application/jquery
//= require application/jquery_ujs
<% if Rails.env.development? %>
  <%= require_asset 'application/badglobals' %>
  <%= require_asset 'application/consul' %>
<% end %>

来源:https://github.com/sstephenson/sprockets/issues/90