2つのエラーが発生します。どちらもエンコードを中心にしており、両方とも関連しています。
WEBrickの起動時に最初に表示されるエラー(技術的には警告):
/Users/USERNAME/example/config/initializers/bb-Ruby.rb:54: warning: invalid Unicode Property \P: /\:\-?\P/
それが参照している行は次のとおりです:/\:\-?\P/,
これはほんの少しの正規表現であり、最終的にはこのブロックの一部です。
@@tags['Razzing'] = [
/\:\-?\P/,
'<img src="/assets/emoticons/razzing.png">',
'Razzing',
':P',
:razzing]
次に、いくつかの文字列を解析すると、次のエラーが表示されます(おそらくこの同じ行が原因です)...
Encoding::CompatibilityError
incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)
私はRuby 1.9.2およびRails 3.2.1。
RegexはASCII-8BITとして「コンパイル」されています。
Regexが宣言されているファイルの先頭にエンコーディング宣言を追加するだけです。
# encoding: utf-8
これで完了です。 Rubyがコードを解析しているとき、使用するすべてのリテラル(正規表現、文字列など)がUTF-8エンコーディングで指定されていると想定します。
更新:UTF-8
がRuby 2.0以降)のデフォルトのエンコーディングになりました。
/Pattern/u - stand for UTF-8