7

私は単純なレールアプリを構築しています。ホームページをロードすると、次のようになります。

    59 ミリ秒で 500 内部サーバー エラーを完了
    ActionView::Template::Error (異なるプレフィックス: "c:/" と
    "D:/workspaceRor/jrpappthree/ssets/stylesheets"
    (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
...

しかし、それは私の問題を解決しませんでした。では、開発環境でアプリを実行するためのソリューションは何でしょうか。成功?

4

3 に答える 3

9

Windows の bootstrap.sass gem のバグのようです。

プロジェクトを C ドライブに移動すると、プロジェクトが機能し始めるのを見たことがあります。

于 2012-04-17T20:07:34.930 に答える
9

もう 1 つの解決策は、C: ドライブから D: ドライブへのジャンクション ポイント (ハード リンクのようなものですが、ディレクトリで機能します) を作成し、C: ドライブのリンクされたディレクトリで rails サーバーを実行することです。私の知る限り、コマンドは OS のバージョンによって異なりますが、Vista では次のように動作します。

mklink /J c:\<linkdir> d:\<targetdir>

古いOSバージョン用にオンラインで利用できる「Junction」というアプリがあると思います。私のシステムでは、アプリケーションを USB スティックに保持していたので、デスクトップ システムとラップトップ システムの間で簡単に移動できたので、C: に移動したくありませんでした。アプリケーションは「注文」と呼ばれるので、実行しました:

mklink /J c:\ordersapp d:\sites\orders

次に、Rails サーバーを実行します。

c:\> cd \ordersapp

c:\ordersapp> rails s

そして、すべてが機能します。コードは c: で実行されているように見えます。

于 2012-05-10T18:54:23.680 に答える
0

これは実際には Rails の問題です - これを参照してください: https://github.com/rails/rails/issues/660

于 2013-01-07T01:58:24.337 に答える