Как требовать активы только для среды разработки - PullRequest
11 голосов
/ 04 октября 2011

Я использую конвейер ресурсов из 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 ]

11 голосов
/ 04 октября 2011

Почему бы просто не потребовать это в представлении? Важно ли, чтобы они были загружены в актив? Чтобы загрузить их в виде:

<% if Rails.env.development? %>
  <%= javascript_include_tag "application/badglobals" %>
  <%= javascript_include_tag "application/consul" %>
<% end %>
3 голосов
/ 11 мая 2017

Если вы переименуете свой application.js файл (или любой файл, который вы называете //= require ... in) в 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

...