Как использовать CSS с приложением ruby ​​on rails? - PullRequest
57 голосов
/ 30 апреля 2009

Как использовать CSS с RoR? Когда я связываю внешне, я никогда не могу видеть файлы. Я скопировал файл .css в каждую папку, которую мог придумать ... Представления, контроллер, шаблон и ничего, похоже, не работает.

Что мне нужно сделать, чтобы включить внешние CSS-файлы с помощью rails-приложения? Я новичок в рельсах, так что прости меня, если это просто.

Ответы [ 7 ]

56 голосов
/ 30 апреля 2009

Поместите файлы CSS в публичные таблицы / таблицы стилей и затем используйте:

<%= stylesheet_link_tag "filename" %>

для ссылки на таблицу стилей в ваших макетах или файлы erb в ваших представлениях.

Аналогичным образом вы помещаете изображения в публичные / файлы изображений и файлы javascript в публичные / файлы javascripts.

17 голосов
/ 12 февраля 2013

Если вы используете рельсы> 3 версии, то существует концепция под названием asset pipeline. Вы можете добавить свой CSS к

app/assets/stylesheets

тогда оно будет автоматически подхвачено приложением. (это полезно, поскольку рельсы автоматически сжимают файлы CSS)

подробнее здесь о конвейере активов

14 голосов
/ 12 февраля 2013

Я сделал следующее ...

  1. Поместите файл CSS в папку app/assets/stylesheets.
  2. Добавьте ссылку на таблицу стилей <%= stylesheet_link_tag "filename" %> в файл макетов по умолчанию (скорее всего, application.html.erb)

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

13 голосов
/ 18 января 2016

Используйте тег таблицы стилей rails, чтобы связать ваш main.css следующим образом

<%= stylesheet_link_tag "main" %>

Перейти к

config/initializers/assets.rb

Оказавшись внутри assets.rb, добавьте следующий фрагмент кода чуть ниже Rails.application.config.assets.version = '1.0'

Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.precompile += %w( main.css )

Перезагрузите сервер.

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

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

  • Поместите любой новый лист .css (или другой) в app / assets / stylesheets
  • Протестируйте свой сервер с сервером rails-root / scripts / rails, и вы увидите, что ссылка добавлена ​​самими rails.

Вы можете проверить это с помощью пути в вашем браузере, например testserverpath: 3000 / assets / filename_to_test.css? Body = 1

2 голосов
/ 30 апреля 2009

Чтобы добавить к вышесказанному, наиболее очевидное место для добавления stylesheet_link_tag - это глобальный макет приложения - application.html.erb.

0 голосов
/ 30 апреля 2009

Вы пытались поместить его в общую папку? Всякий раз, когда у меня есть изображения или тому подобное, на которые мне нужно ссылаться извне, я помещаю все это туда.

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