从Rails 3.1升级到3.2错误

时间:2013-02-01 20:30:34

标签: ruby-on-rails

我正在将Rails应用程序从3.1升级到3.2 它使用宝石'twitter-bootstrap-rails'和宝石'少'。

尝试启动瘦服务器时出错。

现在我收到了这个错误。它说“没有这样的文件”,即使我在我的应用程序中有该文件:

LoadError in Home#index

Showing    /Users/burtondav/sites/requestsys/app/views/layouts/application.html.erb where line #20 raised:

no such file to load -- less
  (in   /Users/burtondav/sites/requestsys/app/assets/stylesheets/bootstrap_and_overrides.css.less)
Extracted source (around line #20):

17:       }
18:   </style>
19: 
20:   <%= stylesheet_link_tag "application", :media => "all" %>
21: 
22:   <!-- Le fav and touch icons -->
23:   <link href="/favicon.ico" rel="shortcut icon">

较少的宝石有什么问题吗?

谢谢!

更新

我重新安装了gem'twitter-bootstrap-rails'。现在我收到了这个错误:

Cannot call method 'charAt' of undefined
(in     /Users/burtondav/sites/requestsys/app/assets/stylesheets/bootstrap_and_overrides.css.less)

我找到了关于less.js的回答 - &gt;

https://github.com/cloudhead/less.js/issues/906

但是,我正在使用gem'less-rails'

这可能是在less.js而不是less-rails gem中修复的已知问题吗?

更新2

我发现了这个

“在sprite.less中我更改了background-image:url(”@ {iconSpritePath}“);和background-image:url(”@ {iconWhiteSpritePath}“);

添加“”和{}摆脱了错误..“

但是,那不是铁轨。

我的路径是:

// Set the correct sprite paths
@iconSpritePath: asset-path("twitter/bootstrap/glyphicons-halflings.png");
@iconWhiteSpritePath: asset-path("twitter/bootstrap/glyphicons-halflings-white.png");

更新3

我找到了另一个答案 - 升级到Ruby 1.9.3。我正在使用ruby 1.9.2p290

但是,我很紧张。我应该紧张吗?我的应用程序仍可在Heroku上运行吗?

我打算开一个新问题 - 这个问题的标题现在不正确。

1 个答案:

答案 0 :(得分:0)

我依稀记得有这样的问题。也许尝试less-rails而不是less。我有以下内容:

gem 'twitter-bootstrap-rails'
gem 'less-rails'

还要确保你有(或其他一些javascript解释器)。

  gem 'therubyracer', '0.10.2', :platforms => :ruby

在Gemfile中取消注释。这几乎看起来你无法编译你的资产