在Rails 4.2中,我应该保留静态资产吗?

时间:2015-02-18 19:55:09

标签: ruby-on-rails ruby-on-rails-4 capistrano

我正在使用Rails 4.2和AssetPipeline。在我的Sass中,我使用如下绝对路径来引用图像:

.foo {
  background-image: url(/assets/images/foo.jpg)
}

这是我通常用于引用各种资产的工作流程。

因此,在这种情况下,引用了静态图像./public/assets/images/foo.jpg。这在开发中很好。

在暂存和生产资产中进行预编译,Capistrano链接./public/assets目录,覆盖我的资产。显然我不应该在./public/assets中保留静态资产,因为该目录是自动生成的。

主题上的guide表示“app / assets适用于应用程序拥有的资产。”好吧,图像是应用程序拥有的。但是,如果我将它们放在./app/assets中,那么最终会在./public/assets目录中结束,而不保留其目录结构。我不喜欢把图像放在app下。这并不适用于所有环境。

该指南还说“将app / assets用于必须在提供之前进行一些预处理的文件。”那讲得通。这似乎与我引用的最后一个陈述相矛盾,但我会留意这个建议,因为图像不需要处理。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

使用sass-rails gem,这样你就可以获得像asset-path这样的好帮手,它们同时具有环境和魔法哈希路径。