我正在构建一个简单的rails应用程序,当我加载主页时,我得到:
Completed 500 Internal Server Error in 59ms ActionView::Template::Error (different prefix: "c:/" and "D:/workspaceRor/jrpappthree/ ssets/stylesheets" (in D:/workspaceRor/jrpappthree/app/assets/stylesheets/custom.css.scss)):
2: <html>
3: <head>
4: <title><%= full_title(yield(:title)) %></title>
5: <%= stylesheet_link_tag "application", media: "all" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: <%= render 'layouts/shim' %>
我的宝石文件
gem 'rails'
gem 'bootstrap-sass'
gem 'bcrypt-ruby'
gem 'faker'
gem 'will_paginate'
gem 'bootstrap-will_paginate'
gem 'pg'
group :development, :test do
gem 'mysql2'
gem 'annotate'
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
gem 'railties'
end
gem 'jquery-rails'
group :test do
end
group :production do
# gem 'pg'
end
在D:/workspaceRor/jrpappthree/app/assets/stylesheets/custom.css.scss
@import "bootstrap";
body {
padding-top: 60px;
}
.
.
.
在开发环境中,它显示上述错误,但在生产中它工作正常。 我甚至试过
# config/environments/production.rb
...
config.assets.compile = true
...
但它没有解决我的问题。 那么在开发环境中运行应用程序的解决方案是什么?成功?
答案 0 :(得分:9)
看起来它是windows上bootstrap.sass gem中的一个错误。
我看到有人将项目移至C盘,然后开始工作。
答案 1 :(得分:9)
另一个解决方案是从C:驱动器到D:驱动器创建一个连接点(如硬链接但在目录上工作),并在C:驱动器的链接目录中运行rails服务器。 AFAIK命令因操作系统版本而异,但在Vista上可以使用:
mklink /J c:\<linkdir> d:\<targetdir>
我相信有一个名为“Junction”的应用程序可以在线获取较旧的操作系统版本。在我的系统上,我将应用程序保存在USB记忆棒上,因此我可以在桌面和笔记本电脑系统之间轻松移动它,因此不想将其移动到C:。该应用程序称为“订单”,因此我执行了:
mklink /J c:\ordersapp d:\sites\orders
然后运行rails服务器:
c:\> cd \ordersapp
c:\ordersapp> rails s
一切正常。代码现在似乎在c:。
上运行答案 2 :(得分:0)
这实际上是Rails中的一个问题 - 请参阅:https://github.com/rails/rails/issues/660