所以我建立了一个网络应用程序'在rails 4.2.0上使用ruby 2.1.5。
我现在想要的是单页登陆页面。我不希望此着陆页受到我在样式表布局中的任何其他现有css文件的影响。
着陆页(理想情况下)使用名为freelancer.css的css文件,我网站的其余部分使用default.css。
总之;如何在为我的应用程序的其余部分转义其余的css / scss文件时,为单个视图/控制器专门调用样式表。
目标网页有自己的名为Welcome的控制器。
class WelcomeController < ApplicationController
def index
render layout: false
end
end
我已经定义了一条自定义路线。
authenticated :user do
root 'pages#home', as: "authenticated_root"
end
root 'welcome#index'
我的欢迎控制器索引就是这样。
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<%= favicon_link_tag 'notes.png' %>
<title>Balern Edu.</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<script src='assets/moment.min.js'></script>
<script src='assets/fullcalendar.js'></script>
<link rel='stylesheet' href='assets/fullcalendar.css'>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
我的application.css.scss文件:
*
*= require_self
*= require 'masonry/transitions'
*= require font-awesome
*= require_tree .
*/
@import 'bootstrap';
@import 'bootstrap/theme';
@import 'chosen';
@import 'image-select';
答案 0 :(得分:4)
您可以在render layout: false
的顶部使用layout: "welcome"
,而不是使用WelcomeController
,其中布局页面称为welcome.html.erb
。在那里,你可以调用你想要的任何样式表。
答案 1 :(得分:0)
您只能将css或JavaScript文件包含在将此代码放入自定义视图的自定义页面中:
<% content_for :head do %>
<%= javascript_include_tag "posts" %>
<% stylesheet_link_tag "posts" %>
<% end %>
此外,您需要将此代码放在 application.html.erb :
中<head>
<%= yield :head %>
</head>