2012-01-10 2 views
0

Ниже приведено _form.html.erb, сгенерированное во время строительных лесов.применять стиль для видных лесов

<%= form_for(@post) do |f| %> 
    <% if @post.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2> 

     <ul> 
     <% @post.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

<!-- <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </div>--> 
    <div class="field"> 
    <%= f.label :title %><br /> 
    <%= f.text_field :title %> 
    </div> 
    <div class="field"> 
    <%= f.label :content %><br /> 
    <%= f.text_area :content %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

Я хочу использовать тот же вид, но я хочу применить к нему стиль. Я могу видеть div-классы «field» и «action», но я не могу применить к нему стиль. Я пробовал применять стиль из активов/stylesheets/posts.css. Я также не могу найти, где css первоначально применяется к этой форме.

Прошу прощения, я новичок в рельсах. Любая помощь приветствуется. Благодарю.

ответ

0

Как правило, вы должны иметь файл макета CSS на этом пути:

your_app/app/views/layouts/_stylesheets.html.erb 

, который вызывается из основного макета приложения:

your_app/app/views/layouts/application.html.erb 

В этом файле вы должны увидеть следующую строку :

<%= render 'layouts/stylesheets' %> 

Эта инструкция вызывает файл макета _stylesheets.html.erb. В этом файле вы можете найти весь импорт css. Пример:

<%= stylesheet_link_tag 'styles', :media => 'screen' %> 

Если вы хотите достичь файл styles.css, вы можете найти его здесь:

your_app/public/stylesheets 
+0

Переход с «таблицы стилей» парциальное может быть хорошо для СУХИХ кода, но 'stlyesheet_link_tag' может также быть включенным в макет напрямую. – Smudge

+0

Я полностью согласен. Но, IMHO, это хорошая практика для разделения вызовов CSS. Конечно, если у вас есть только один вызов, включите его непосредственно в макет. – Zakaria

0

Вы хотите, чтобы включить эту строку где-то в файле макета, так что CSS получает включены на странице:

<%= stylesheet_link_tag "my_css_file" %> 

В вашем контроллере вы, вероятно, захотите указать свой макет. В случае /views/layouts/my_layout.html.erb, вы будете делать что-то вроде этого:

class MyController < ApplicationController 
    layout :my_layout 

    ... 

end 
Смежные вопросы