我已经搜索过并且搜索了所有我能看到的是使用带有rails的指南针3.1就是这样编辑Gemfile:
gem 'compass', :git => 'https://github.com/chriseppstein/compass.git', :branch => 'rails31'
gem 'sass-rails', "~> 3.1.0.rc"
是的我明白了,但下一步是什么?我看到的每个教程都说,使用那个特定的分叉。但是我仍然无法使用带有rails 3.1的罗盘。
我这样做了:
$ compass init rails . --syntax sass
directory ./app/stylesheets/
create ./config/compass.rb
create ./app/stylesheets/screen.sass
create ./app/stylesheets/print.sass
create ./app/stylesheets/ie.sass
由于3.1现在正在使用资产,我只是将所有这些文件转移到3.1。另外,我使用的是指南针-960插件,我在哪里需要它?我尝试添加一个需要960的compass.rb,并且需要html5样板,我仍然会遇到错误:
Error compiling asset application.css:
NoMethodError: undefined method `Error' for Compass:Module
(in /Users/eumir/rails_apps/kiseki/app/assets/stylesheets/screen.sass)
NoMethodError (undefined method `Error' for Compass:Module
(in /Users/eumir/rails_apps/kiseki/app/assets/stylesheets/screen.sass)):
我尝试做罗盘编译,它给了我这个:
$ compass编译 无需编译。如果您正在尝试启动一个新项目,那么您已经离开了目录参数。 运行“compass -h”获取帮助。
正如我所说,我已经编辑了我的指南针。所以我仍然难以理解如何解决这个问题。有什么帮助吗?
答案 0 :(得分:33)
更新:好像有更好的方法!
资料来源:http://spin.atomicobject.com/2011/07/12/sass-sprockets-compass-with-rails-3-1/
更新2 (2011年12月2日):Compass的创建者Chris Eppstein发布了关于如何将Compass与Rails 3.1集成的Github要点:https://gist.github.com/1184843
我现在更喜欢这种方法,因为我注意到在使用livereload时编译时速度有了很大提升。
我的方法:
(我现在认为它已被弃用,但在某些情况下可能会有用,所以这里仅供参考:)
首先,在你的Gemfile中,添加:
gem "compass", "~> 0.12.alpha.0"
不要忘记执行
bundle update
然后,在config / application.rb中:
config.generators.stylesheet_engine = :sass
将application.css.scss重命名为application.css.sass,或者创建它,并将其内容替换为:
@import compass
@import _blueprint
(如果你想在样式表的开头保留新的Rails 3.1清单代码,你必须在开头的时候用sass-syntax version'//'替换'/ * * /'注释。每一行)
现在,要测试罗盘和蓝图mixin是否有效,请将一些代码添加到同一文件application.css.sass:
@import compass
@import _blueprint
body
background: black
+linear-gradient(color-stops(white, black))
+column(5)
使用
运行rails服务器bundle exec rails server
在浏览器中加载您的应用,然后访问http://localhost:3000/assets/application.css
如果一切顺利,你应该看到编译好的代码。
<强>来源:强>
http://blog.pixarea.com/2011/07/using-compass-blueprint-semantic-and-sass-syntax-in-rails-3-1/
答案 1 :(得分:6)
其他答案中的解决方案已弃用最新版本的Compass,v0.12,这需要适配器才能使用rails应用程序。 Compass的作者Chris Eppstein已经在github上发布了安装说明:
的 https://github.com/compass/compass-rails 强>
此适配器支持2.3及更高版本的导轨
答案 2 :(得分:1)
https://groups.google.com/forum/#!msg/compass-users/mU5HBt8TCIg/2Rt7iSESTSAJ
这是他的信息:
你好帮派。这个github问题可能有所帮助。 https://github.com/sporkd/compass-html5-boilerplate/issues/19我现在正在运行一切。所以我的gemfile 看起来像这样:
gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'sass-rails', '~> 3.1.0.rc2' gem 'haml', :git => 'git://github.com/nex3/haml.git' gem 'haml-rails' gem "compass", :git => "git://github.com/chriseppstein/compass.git", :tag => "0.12.alpha.0" gem 'compass-html5', :git => 'git://github.com/sporkd/compass-html5.git'
我现在正在研究轨道发电机,所以它不应该这样 遥远。但这至少应该让你前进。
彼得
*改变分支,如choonkeat所说
答案 3 :(得分:0)
您可以下载指南针目录,将其转储到vendor/assets/stylesheets
,这样您的目录结构为vendor/assets/stylesheets/compass
然后从您的主应用程序样式表中包含指南针mixins ass required @include compass/reset;