我正在将 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 上运行吗?
我要提出一个新问题 - 这个问题的标题现在不正确。