rails 3.2.1 таблица стилей не загружается? - PullRequest
1 голос
/ 05 марта 2012

Я читаю книгу «Гибкая веб-разработка с рельсами» и столкнулся с проблемой в конце главы 6. ​​По сути, то, что я сделал до сих пор, - это определение таблицы стилей sass (products.css.scss) и ее связывание.в мое приложение в layouts / application.html.erb:

<!DOCTYPE html>
<html>
<head>
  <title>Depot</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body class='<%= controller.controller_name %>'>

<%= yield %>

</body>
</html>

, но оно не загружается, когда я запускаю сервер и захожу на страницу!

есть идеи, почему?

Ответы [ 6 ]

4 голосов
/ 06 марта 2012

Это решило мою проблему:

bundle exec rake assets:precompile
2 голосов
/ 21 августа 2012

Я потратил час на то, чтобы выяснить ответ, так как у меня была точно такая же проблема. зайдите в ваш application.css.sass и убедитесь, что он имеет

/* ...
*= require_self
*= require_tree .
*/

в нем. Это автоматически загружает все остальные .css.sass в apps / assets / stylesheets, а затем прекомпилирует их в public / assets / stylesheets в 1 файл statis css, который передается вашему браузеру.

0 голосов
/ 14 июля 2013

в соответствии с документацией (http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers/stylesheet_link_tag) вы можете установить тег для включения всех таблиц стилей в каталог таблиц стилей с помощью stylesheet_link_tag: все. Также есть опции для кэширования, рекурсии и конкатенации.

Если вы не хотите включать все, кроме только application.css и css вашего контроллера, вы можете сделать это:

= stylesheet_link_tag 'application', params [: controller] .classify.downcase.pluralize

0 голосов
/ 13 июня 2013

поместите depot.css от /public/stylesheets/ до app/assets/stylesheets/

0 голосов
/ 10 апреля 2013

Выполнение команды assets precompile будет скомпилировано как вышеупомянутый пользователь ... однако, это может быть не то, что вы хотите делать, если вам не нужно запускать его каждый раз, когда вы вносите изменения, а затем добавляете все это в свой файл.В репозитории SCM и, возможно, возникнут проблемы в работе.

Реальное решение этого точного примера состоит в том, что в нем нет класса «products», поэтому products.css.scss не обнаружен,Посмотрите этот пост, который помог мне понять это: https://stackoverflow.com/a/10080134

0 голосов
/ 05 марта 2012

Включили ли вы products.css.scss в файл манифеста application.css, на который вы ссылаетесь в макете?

При включенном конвейере ресурсов необходимо включить манифест в макет и ссылаться на все таблицы стилейиз манифеста.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...