2012-01-10 55 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類「字段」和「動作」,但我無法將樣式應用於它。我嘗試應用來自assets/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

用「樣式」走出部分可以很好的爲DRY的代碼,但'stlyesheet_link_tag'也可以直接包含在佈局中。 – Smudge 2012-01-10 19:37:22

+0

我完全同意。但是,恕我直言,分離CSS調用是一種很好的做法。當然,如果您只有一個電話,那麼直接將其包含在佈局中。 – Zakaria 2012-01-10 20:12:15

0

你想不想找個包括這條線在你的佈局文件,使CSS被列入在頁面中:

<%= stylesheet_link_tag "my_css_file" %> 

在您的控制器中,您可能需要指定佈局。在/views/layouts/my_layout.html.erb的情況下,你會做這樣的事情:

class MyController < ApplicationController 
    layout :my_layout 

    ... 

end