【发布时间】:2016-08-11 03:52:14
【问题描述】:
如何防止我的 Rails 应用控制器之一加载加载在整个应用上的通用 css 和 js?
感谢阅读。
【问题讨论】:
-
您可以为该特定控制器创建不同的
layout,然后不要在该布局中包含 css 和 js 文件。
标签: javascript css ruby-on-rails ruby ruby-on-rails-4
如何防止我的 Rails 应用控制器之一加载加载在整个应用上的通用 css 和 js?
感谢阅读。
【问题讨论】:
layout,然后不要在该布局中包含 css 和 js 文件。
标签: javascript css ruby-on-rails ruby ruby-on-rails-4
选项 1
如果页面应该没有任何布局(包括 css 和 js),你可以这样做:
class MyAwesomeController < ApplicationController
layout false
end
选项 2
如果您需要一些布局,但没有任何 css 和 js,请在 views/layouts 中创建它。例如no_css_and_js.html.erb。然后添加没有任何css和js的html,包括:
<!-- layouts/no_css_and_js.html.erb -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<%= yield %>
</body>
</html>
那么你的控制器应该被修改为使用这个布局:
class MyAwesomeController < ApplicationController
layout 'no_css_and_js'
end
选项 3
您还可以修改application 布局以防止它加载css 和js:
<!DOCTYPE html>
<html>
<head>
<title>Orca</title>
<% if controller_name != 'my_awesome' %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<% end %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
【讨论】: