Сделать поведение ресурсов Rails зависимым от среды - PullRequest
0 голосов
/ 23 марта 2012

Мне интересно, есть ли способ, чтобы актив Rails мог варьироваться в зависимости от среды.

Что-то вроде:

function log(m) {
  <% if Rails.env=='development' %>
    console.log(m)
  <% end %>
}

И, аналогично, вы могли бы показать специальное сообщение илиЦветовая схема, делая специфические для среды функции в таблице стилей.

(я понимаю, что ресурсы скомпилированы в производстве, поэтому я не собираюсь делать это с любым произвольным кодом Ruby во время работы сервера. Но яИнтересно, есть ли способ сделать это по крайней мере с окружающей средой.)

1 Ответ

3 голосов
/ 23 марта 2012

см. конвейер активов, предварительная обработка

Динамический Javascript

в вашем файле манифеста javascript app / assets / javascripts / application.js

//...
//= dynamic_js
//...

в app / assets / javascripts / dynamic_js.js.erb

function log(m) {
  <% if Rails.env=='development' %>
    console.log(m)
  <% end %>
}

Динамический CSS

в манифесте таблицы стилей: app / assets / stylesheets / application.css

/*...
*= dynamic_css
*/

in app / assets / stylesheets / dynamic_css.css.erb

.environment-color {
  <% if Rails.env == 'development' %>
    color: <%= 'red' %>
  <% else %>
    color: <%= 'white' %>
  <% end %>
}
...