【发布时间】:2011-02-08 02:40:15
【问题描述】:
我想让 Rails 视图在页面中呈现 CSS 文件,而不是页面再次请求 CSS,所以它只有 1 个请求。
这可能吗?
【问题讨论】:
-
为什么不使用 Jammit 之类的东西将所有 CSS 压缩到一个文件中呢?您可以在其上设置很长的过期标头,因此用户将下载一次,然后在下个月或诸如此类的情况下进行 304。
标签: ruby-on-rails ruby-on-rails-3
我想让 Rails 视图在页面中呈现 CSS 文件,而不是页面再次请求 CSS,所以它只有 1 个请求。
这可能吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3
虽然包含 CSS 的典型方法是使用 stylesheet_link_tag(特别是它会被客户端缓存),但在 Rails 3.1 中可以直接将其放入 <HEAD>:
<HEAD>
....
<STYLE type="text/css">
<%= YouAppName::Application.assets["your_stylesheet.css"].to_s.html_safe %>
</STYLE>
</HEAD>
我改编自this post。
【讨论】:
假设您的 CSS 文件位于您的 public/stylesheets 文件夹(这是存储样式表的常规位置)。当然,你可以指定一个特定的文件,而不是 :all。
在您的页面块中。
我通常在我的 application.html.erb(这是您的 app/views/layouts 中的一个布局)文件夹中执行此操作。但是您可以在任何带有块的视图文件中执行此操作。
祝你好运!
【讨论】:
只需将你的 CSS 包裹起来
<style></style>
在你的视野中。
【讨论】: