我有一个成功的 Rails 3.0.x 项目,在 Gemfile 中有以下 Gems 子集:
gem "compass"
gem "haml"
gem "haml-rails"
gem "html5-boilerplate"
我今天尝试升级到 Rails 3.1 并保留所有功能,但这样做有很多问题。我还没有找到在生产模式下对我有用的配置,所以我现在正在使用开发模式。
我在这里遵循了以下建议:
- Railscast的“升级到 Rails 3.1” :和往常一样好,并告诉我如何更改
production.rb
和更新资产管道的配置。但没有接触 compass、sass 和 html5-boilerplate。development.rb
application.rb
- “使用 Rails 3.1 设置 html-boilerplate”最适合我,但不起作用,因为该方法
ie_html
在生产模式下不可用。记下 Gemfile 中的更改 - “无法让 Rails 3.1、Compass、Sass、Blueprint 在 Heroku Cedar 上工作”这对我来说根本不起作用,我当时编译的资产有问题。那里的尝试是让一切都是全局的,因为 Compass 和 Html-Boilerplate 之间存在依赖关系,并且 Html-Boilerplate 由于方法而必须是全局的
ie_html
。 - 每次尝试只使用
group :assets
块中的一些宝石都没有成功。大多数时候,compass 和 sass 或 compass 和 html5-boilerplate 之间的依赖关系无法实现。
所以我的问题是:是否有一个有效的 Gemfile 允许一起使用 Haml、Sass、Compass、Html5-Boilerplate,当然还有 Rails 3.1?
新 Gemfile 在开发模式下工作,但不在生产模式下:
gem "haml-rails"
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
gem 'compass', '~> 0.12.alpha.0'
gem "html5-boilerplate"
end
gem 'jquery-rails'
我试图创建一个新的 Rails 3.1 应用程序,并在那里添加了一个图像资源。一切正常,因此开发模式和生产模式之间没有区别。在我迁移的应用程序中,我现在具有以下状态:
- 在开发模式下运行良好。
- 禁用一些 html5 样板文件以解决生产中的问题。
- 尚未在生产模式下找到预编译的图像。