【问题标题】:Rails - is there a way to get Rails to render a Style .css file inside of the view?Rails - 有没有办法让 Rails 在视图中呈现 Style .css 文件?
【发布时间】:2011-02-08 02:40:15
【问题描述】:

我想让 Rails 视图在页面中呈现 CSS 文件,而不是页面再次请求 CSS,所以它只有 1 个请求。

这可能吗?

【问题讨论】:

  • 为什么不使用 Jammit 之类的东西将所有 CSS 压缩到一个文件中呢?您可以在其上设置很长的过期标头,因此用户将下载一次,然后在下个月或诸如此类的情况下进行 304。

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

虽然包含 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

【讨论】:

    【解决方案2】:

    假设您的 CSS 文件位于您的 public/stylesheets 文件夹(这是存储样式表的常规位置)。当然,你可以指定一个特定的文件,而不是 :all。

    在您的页面块中。

    我通常在我的 application.html.erb(这是您的 app/views/layouts 中的一个布局)文件夹中执行此操作。但是您可以在任何带有块的视图文件中执行此操作。

    祝你好运!

    【讨论】:

      【解决方案3】:

      只需将你的 CSS 包裹起来

      <style></style>
      

      在你的视野中。

      【讨论】:

      • 我希望它在样式表目录中的一个单独的 css 文件中保持干净:)
      • 我明白了。可能最好使用 content_for 来准备样式表以供以后使用。与此类似:stackoverflow.com/questions/480288/…
      猜你喜欢
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 2011-04-15
      • 1970-01-01
      • 2015-09-28
      相关资源
      最近更新 更多