2016-03-04 43 views
0

我有一個Rails應用程序,它有幾個「靜態」頁面,我打算將來會有更多。將特定的樣式表添加到單個Rails頁面

當前文件結構:

.... 
/assets/stylesheets/static.scss 
.... 
/controllers/static_controller.rb 
.... 
/views/static/home.html.erb 
/views/static/feedback.html.erb 
.... 

我Gemfile中包含「自舉Sass的寶石。

我想home.html.erb看法有從所有其他「靜態」的網頁不同的風格,具體如下CSS:

html { 
    height: 100%; 
    background: url(assets/image.jpg) no-repeat center center; 
    background-size: cover; 
    font-family: Arial; 
} 

h1 { 
    color: black; 
    font-style: bold; 
    text-align: center; 
} 

如何/這應該最有效地實現?我需要爲home.html.erb創建另一個控制器/視圖/樣式表嗎?

CODE:

application.html.erb:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Batuk</title> 
<%= Gon::Base.render_data({}) %> 
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 

<nav class="navbar navbar-default"> 
    <div class="container-fluid"> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <%= link_to 'BATUK', root_path, class: "navbar-brand" %> 
    </div> 

    <div class="collapse navbar-collapse" id="myNavbar"> 
     <ul class="nav navbar-nav"> 
     <li><%= link_to 'Summary', summary_path %></li> 
     <li><%= link_to 'Statement', statement_path %></li> 
     <li><%= link_to 'Balances', balances_path %></li> 
     <li><%= link_to 'Accounts', accounts_path %></li> 
     </ul> 

     <ul class="nav navbar-nav navbar-right"> 
     <li><%= link_to 'Feedback', feedback_path %></li> 
     <li><%= link_to 'Sign Out', root_path %></li> 
     </ul> 
    </div> 

    </div> 
</nav> 

<div class="container"> 
    <%= yield %> 
</div> 

<%= render 'layouts/footer' %> 

</body> 
</html> 
+0

我想這個答案,從這個太問題可以幫助你,http://stackoverflow.com/a/7676570/708807 – Chris

回答

1

的一種方法是指定您的控制器和操作使用CSS類。

在你的app/views/layouts/application.html.erb中,添加controller_nameaction_name方法調用來生成CSS類。

<body class="<%= controller_name %> <%= action_name %>"> 

CSS

html { height: 100% } 

body.home { 
    height: 100%; 
    background: url('assets/image.jpg') no-repeat center center; 
    background-size: cover; 
    font-family: Arial; 
} 

.home h1 { 
    color: black; 
    font-style: bold; 
    text-align: center; 
} 
0

創建相匹配的名稱,您static_controller佈局,模板名稱應該是static.html.erb。 然後指定你的控制器佈局

class staticController < ApplicationController 
    layout 'static' 
end 
相關問題