【问题标题】:In Rails 4.2 where should I keep my static assets?在 Rails 4.2 中,我应该在哪里保存我的静态资产?
【发布时间】:2015-02-18 19:55:08
【问题描述】:

我正在使用带有 AssetPipeline 的 Rails 4.2。在我的 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 目录中,而没有维护它们的目录结构。无论如何,我不喜欢将图像放在应用程序下。这并不适用于所有环境。

该指南还说“将应用程序/资产用于在提供之前必须经过一些预处理的文件。”这就说得通了。这似乎与我引用的最后一句话相矛盾,但我会听从这个建议,因为不需要处理图像。

我在这里错过了什么?

【问题讨论】:

  • 如果您在不发表评论的情况下投了反对票,那么您将无法让我使问题更具建设性。我经常以我知道的最佳方式提出问题开始。通常,一旦我有了答案,我就能更好地表达问题,从而可能使其对其他人更有用。一定要投反对票,但如果你打算这样做,请有胆量发表评论。
  • 我把你的票选为零,有些人是仇恨者:) 你的问题很好。
  • 感谢您的安慰!

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


【解决方案1】:

使用sass-rails gem,这样你就可以得到像asset-path 这样的好帮手,它们既能感知环境又能感知魔法哈希路径。

【讨论】:

  • 我正在使用它,但我没有使用过the helpers。我想我会试试的。仍然不知道把我的图片放在哪里。
  • 好的,我可以解决这个问题。谢谢。
  • 您将它们与其余资产一起放入app/assets
  • 是的,greplace 我在大约 3 分钟内切换了我的应用程序。不太痛。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2019-09-19
  • 2019-12-24
  • 2014-06-09
相关资源
最近更新 更多