application.css资产管道

问题描述 投票:5回答:2

我在Rails 3.2.8上,我想切换到使用资产管道。

我在我的开发机器上,并且我的资产设置如下: app/assets/stylesheets/application.css

  ...    
  *= require_directory ../public/javascripts/jquery/themes/base
  *= require_directory ../public/prototype/stylesheets/css
*/

我的所有样式表和js和图像都在公共文件夹中,这是现在的一个包罗万象。 文件夹结构:

app/assets
  /stylesheets
    /application.css
  /javascripts
  /images
  /public
    /stylesheets
    /javascripts
    /prototype
    /images

目前public/assets/application.css文件为空。 如何在开发环境中编译此文件?

当我在rails控制台中运行Rails.application.config.assets.paths时,我得到的是app/assets/public而不是app/assets/public的完整目录路径。

在视图中,我调用资产管道样式表: <%= stylesheet_link_tag 'application.css' %>

编辑1:我尝试将所有样式表移动到app/assets/stylesheets/但是它没有在视图中正确编译application.css。 它汇总到这个:

<link href="/assets/application.css" media="screen" rel="stylesheet" type="text/css" />

当我查看链接时,localhost:3000 / assets / application.css它是一个空白文件。

编辑2:我使用单引号而不是双引号来修复语法错误。 我想我现在已经找到了路径。 谢谢!

ruby-on-rails asset-pipeline
2个回答
10
投票

只需保留application.css的原始设置,让资产管道完成工作:

*= require_self
*= require_tree .

在您的布局中,您应该能够加载已编译的application.css文件:

<%= stylesheet_link_tag "application", :media => "all" %>

我不同意谭的回答。 您不必将文件放在开发中的默认位置以外的任何位置。 您可以轻松搞砸您的东西,除非您需要类似于需要类似资产的资产管理,否则您可以从资产管道中获益良多。

以下是您需要了解的有关资产管道的所有信息: http//guides.rubyonrails.org/asset_pipeline.html


0
投票

将CSS文件移动到

 app/assets/

并且从那里只需要它们。

© www.soinside.com 2019 - 2024. All rights reserved.