Файлы Rails для компиляции ресурсов - PullRequest
1 голос
/ 11 ноября 2011

В моем приложении есть следующая строка

   <%= stylesheet_link_tag "global.css", "pop_div.css", "log_in.css.erb" %>

log_in.css.erb - это простой CSS, одна из строк которого имеет

background: url(<%= asset_path 'LightBg.png' %>);

и после просмотраисточник превратился в

    background: url(/assets/LightBg.png);

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

Моя путаница:

1 - почему он дает URL для /assets / lightbg.png в то время как в каталоге public / asset файл фактически называется LightBg-47c90e283c305c002f6973edf4054002.png

2 - почему в источнике страницы я вижу

 < link href="/assets/log_in.css.erb?body=1" media="screen" rel="stylesheet" type="text/css" />

, а неlog_in-447fd7902dbf635bf4231025699ce36a.css, который является именем файла в public / assets.

Разве процесс компиляции не должен превращать вызов log_in.css.erb в log_in.css?

Спасибо

1 Ответ

2 голосов
/ 11 ноября 2011

Хеширование включено только для производства, в процессе разработки вы по-прежнему получаете простые имена файлов. Если вам требуются другие таблицы стилей и javascripts, кроме application.js и application.css, вам нужно установить config.assets.precompile в config/environments/production.rb. И я не уверен, что вы все еще можете передать несколько таблиц стилей на stylesheet_link_tag. Но обычно вы хотите, чтобы все javascript и таблицы стилей были скомпилированы в один файл (application.js и application.css).

...