Passengerを使用してRuby on Railsアプリケーションを実行する際に問題があります。私のアプリケーションは/ Users/Glutexo /Práce/ Bytek/Bytekディレクトリにあります。このディレクトリには非ASCII文字が入っています(á)。それを別のディレクトリにシンボリックリンクしても、/Library/WebServer/Documents/Bytekのすべての文字がUS-ASCIIである場合、問題はまだ存在します。アプリケーションパスに非ASCII文字がある場合、Ruby on RailsアプリケーションはPassengerを使用しません。
しかし、/ Users/Glutexo/rails/pokusのようなすべてのUS-ASCIIパスに別のRailsアプリケーションを物理的に作成すると、動作します。アプリケーションはPassengerで正常に起動して実行されます。
非ASCIIのパスに存在するRailsアプリケーションを実行しようとしたとき、私は取得エラーページには、次の言葉:
エラーメッセージ:
無効なバイトシーケンスUS-ASCIIで
Exceptionクラス:
と、ArgumentError
バックトレース:
0 | /Users/Glutexo/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/pathname.rb | 45 |
`=〜」で述べたpathname.rbの行は次の関数である:
# chop_basename(path) -> [pre-basename, basename] or nil
def chop_basename(path)
base = File.basename(path)
if /\A#{SEPARATOR_PAT}?\z/o =~ base # This is the line no. 45
return nil
else
return path[0, path.rindex(base)], base
end
end
private :chop_basename
誰もがRuby on Railsアプリケーションを実行できるようにする旅客を説得する方法を、任意の提案を持っています非ASCII文字を含むパスからでも
Railsはバージョン3.2.2、Rubyはバージョン1.9.3-p125、Apacheはバージョン2.2.21、Passengerはバージョン3.0.12です。
ありがとうございました!