【发布时间】:2013-10-18 12:31:45
【问题描述】:
我在 vendor/assets/stylesheets 中有一个 CSS 文件,我想在我的 application.css.scss 文件(或其他文件)中链接到它。我希望这只会渲染 @import 加上资产路径:
@import asset-path('lionbars.css', stylesheet)
但没有这样的运气:我得到了
Invalid CSS after "@import ": expected uri, was "asset-path('lio..."
要么是我语法错误,要么是因为@import doesn't accept dynamic strings,但我不确定。
所以我看到了一些选择。我可以:
- 如果只是语法问题,请找出适当的语法。
- 将我的文件重命名为 application.css.scss.erb 并将其他现有资产路径引用替换为
<%= asset_path('random/asset.png') %>。这让我的语法高亮非常混乱,而且可能不是那么有效。否则,这行得通。 - 将我的 css 文件重命名为
_lionbars.css.scss并调用@import "lionbars"。我不想这样做的两个原因,#1 一般来说我不想接触供应商的代码,#2 那里有一些 IE8 特定的东西 (<!--[if IE 8]>blahblah<![endif]-->) 不能进入 scss 文件,并且我不想分解文件(而且我仍然需要找到 IE8 代码的解决方案以及如何包含它)。
所以,我希望答案是 #1,但我不确定。有什么想法吗?
【问题讨论】:
-
选项 #2 对我来说效果很好,并且似乎遵循 Rails 指南中的 coding links to assets 部分
标签: ruby-on-rails-3.1 compass-sass sass