【问题标题】:How to prevent from loading a css and a js sheet at only one Rails controller?如何防止仅在一个 Rails 控制器上加载 css 和 js 表?
【发布时间】:2016-08-11 03:52:14
【问题描述】:

如何防止我的 Rails 应用控制器之一加载加载在整个应用上的通用 css 和 js?

感谢阅读。

【问题讨论】:

  • 您可以为该特定控制器创建不同的layout,然后不要在该布局中包含 css 和 js 文件。

标签: javascript css ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

选项 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>

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2014-04-11
    相关资源
    最近更新 更多