Один HTML-файл и несколько CSS-файлов в Rails, как? - PullRequest
1 голос
/ 10 декабря 2011

У меня есть один файл HTML, расположенный в app/views/layouts/application.html.erb

Я использую <%=yield=> для рендеринга кода HTML из других моделей.Проблема в том, что я не знаю, как отличить код CSS.У меня есть универсальный код CSS, но каждый HTML-файл требует своего.

вот моя строка CSS в app/views/layouts/application.html.erb

<%= stylesheet_link_tag "scaffold" %>
<%= stylesheet_link_tag "welcome_screen/my_CSS.css", :media => "all" %>

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

поместите именованный yield в начало файла макета, затем используйте content_for в вашем конкретном представлении

# application.html.erb
<head>
    <%= stylesheet_link_tag "scaffold" %>
    <%= yield(:head) %>
    # ...
</head>
<body>
    <%= yield %>
    # ...
</body>

тогда ваш код просмотра

# welcome_screen.html.erb
<% content_for(:head) do %>
    <%= stylesheet_link_tag "welcome_screen/my_CSS.css", :media => "all" %>  
<% end %>
0 голосов
/ 10 декабря 2011

Вы можете добавить <%= yield :head %> в тег <head> в application.html.erb.Позже вы узнаете, нужен ли вам какой-нибудь файл css

<% content_for :head do %>
  <%= stylesheet_link_tag "some_uniq.css" %>
<% end %>

. Вы можете прочитать this , чтобы лучше понять, как работает команда yield.

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