application.css не включая определения других стилей - PullRequest
1 голос
/ 17 ноября 2011

Ruby 1.9.2, Rails 3.1

Вот мое понимание того, как следует применять макеты:

а. приложение. html.erb имеет следующий вспомогательный метод -

`<%= stylesheet_link_tag    "application" %> `

и он в основном говорит: "используйте файл application.css и делайте все, что там указано.

б. Файлы application.css содержат директиву для включения всех файлов таблиц стилей в каталог, в котором они находятся.

= `require_tree` .

(я добавил строку вверху внизу application.css)


Проблема в том, что файл products.css.scss никогда не применяется к странице. Когда я захожу в Developer Tools в Chrome, он показывает, что scaffolds.css применяется к странице. (Хотел прикрепить картинку, но не могу, так как она ограничена новыми пользователями)

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

UPDATE:

Вот решение. в index.htm.erb был блок

<table class>
<% @products.each do |product| %>
  <tr class="<%= cycle('list_line_odd', 'list_line_even') %>">

Я изменил его на (см. Первую строку)

<table class = "products">
<% @products.each do |product| %>
  <tr class="<%= cycle('list_line_odd', 'list_line_even') %>">

Но дело в том, что - я понятия не имею, почему он начал работать, я нашел это решение на веб-странице с ошибками для книги, которую я читаю, кто-то просто предложил это как решение. Буду признателен, если кто-нибудь сможет пролить свет на то, почему эта линия помогла.

Ответы [ 5 ]

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

Директивы для включения - это таблицы стилей, которые должны быть только в комментариях.

Удалите =require_tree., которого нет в комментариях, и убедитесь, что директивы комментариев отформатированы с одинаковым интервалом.

Вам не нужно менять его по умолчанию.

1 голос
/ 10 апреля 2012

Решение поставлено настолько далеко (и проще, чем вы думаете):

Леса не помечают ваш табличный тег правильным классом, и вы должны отредактировать код вручную, чтобы вставить для него класс "products":

<table class="products">
1 голос
/ 20 января 2012

Ответ таков: если вы посмотрите на product.css.scss, он должен иметь таблицу с классом «products».

Все директивы css вложены в .products {}.

Так что, если у вас нет таблицы с классом, установленным в "products", то там нет css дляприложенное.

0 голосов
/ 11 марта 2013

Во-первых, строка <table class=> в примере кода является неполной, должна быть <table class="products">.Во-вторых, строка = require_tree в файле application.css, была мне не нужна, поэтому прокомментируйте ее.В-третьих, перезагрузите ваш localhost:3000/products или любое другое направление вашей страницы, и если это не сработает, перезагрузите сервер.

Все эти рекомендации сработали, по крайней мере, для меня, попробуйте!

0 голосов
/ 17 ноября 2011
*= require_tree . 

должен включать все ваши таблицы стилей в текущем каталоге.но почему у вас это в двух местах.попробуйте удалить требуемое дерево из последней строки.

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