【发布时间】:2013-02-12 20:55:14
【问题描述】:
好的,所以在我的 css.scss 文件中的 @import 需要扩展名之前,我遇到过这个问题:
@import 'layout.css.scss'
而不是
@import 'layout'
不知道为什么这只发生在生产中(在本地我没有问题)。我讨厌必须添加扩展名,不知道为什么,我想我必须输入它只是让我烦恼? :)
我遇到的问题是我似乎无法让指南针在生产中工作。我正在使用 compass-rails gem。我有一个 _config.css.scss 文件,顶部有以下导入:
@import "compass";
@import "compass/css3";
我尝试将 css.scss 添加到它们,然后找不到文件(甚至在本地)。所以我的问题是这样的:
有什么方法可以使用@import 而不必包含文件扩展名?
如果没有,我如何让 Compass 工作?
同样,这只会影响我的生产。
我已经尝试了一些在 Stackoverflow 上找到的不同方法,但没有任何帮助。
Sass import error in Rails 3 app - "File to import not found or unreadable: compass"
我在生产环境中运行应用时遇到的确切错误:
Completed 500 Internal Server Error in 920ms
ActionView::Template::Error (File to import not found or unreadable: compass.
更新
我确实成功地将 .scss 添加到我的指南针导入中
@import 'compass.scss'
这不再在本地引发“找不到文件”错误。
但在生产中我仍然收到此错误:
ActionView::Template::Error (File to import not found or unreadable: compass.scss
所以这告诉我,也许我的 Compass gem 在生产中无法正常工作?
【问题讨论】:
-
指南针 gem 的哪个版本?哪个版本的 Rails?您在
config/environments/production.rb中设置了哪些与资产管道相关的配置选项?如果您设置为不在生产环境中编译资产,那么您是否在部署之前对其进行了预编译? -
你在预编译你的资产吗?
-
@normalocity 我正在使用版本 compass 0.12.2 和 compass-rails 1.0.3 @fotanus 我也是 Heroku 为我做的。我有
config.assets.initialize_on_precompile = true也是因为 RefineryCMS 需要这个。 @lolmaus 我正在使用 RVM,是的。
标签: ruby-on-rails import sass asset-pipeline compass-sass