0

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

我在尝试启动瘦服务器时遇到错误。

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

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 的答案->

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

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

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

更新 2

我找到了这个

“在 sprite.less 中,我更改了背景图像:url("@{iconSpritePath}"); 和背景图像: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 。我正在使用红宝石 1.9.2p290

但是,我很紧张这样做。我应该紧张吗?我的应用还能在 Heroku 上运行吗?

我要提出一个新问题 - 这个问题的标题现在不正确。

4

1 回答 1

0

我隐约记得遇到过这样的问题。也许尝试 less-rails 而不是 less。我有以下内容:

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

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

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

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

于 2013-02-01T20:44:23.570 回答