2009-08-27 10 views
0

私は鉄道宝石を使ってモデルダイアグラムを生成しようとしています。私は別のアプリのためのダイアグラムを生成することができましたが、私はいくつかの "レガシー"コードの周りに頭を抱えて、問題に走り続けようとしています。Ruby RailroadダイアグラムジェネレータはEnumerable :: Enumeratorの[]のNoMethodErrorで失敗します

私は基本的に、私は実行するので、任意の助けが...

をいただければ幸いです、ルビーやレールについてほとんど知っている:

$ railroad -v -M 

とget:

Loading application environment 
Loading application classes 
./config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/string/access.rb:43:in `first': undefined method `[]' for #<Enumerable::Enumerator:0xb70a72d0> (NoMethodError) 
from ./config/../vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:70:in `has_attachment' 
from ./app/models/asset.rb:5 
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
from ./config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:495:in `require' 
from ./config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in' 
from ./config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:495:in `require' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/lib/railroad/models_diagram.rb:40:in `load_classes' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/lib/railroad/models_diagram.rb:40:in `each' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/lib/railroad/models_diagram.rb:40:in `load_classes' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/lib/railroad/app_diagram.rb:21:in `initialize' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/lib/railroad/models_diagram.rb:14:in `initialize' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/bin/railroad:36:in `new' 
from /home/myname/.gem/ruby/1.8/gems/railroad-0.5.0/bin/railroad:36 
from /home/myname/.gem/ruby/1.8/bin/railroad:19:in `load' 
from /home/myname/.gem/ruby/1.8/bin/railroad:19 

を私は」 (既にベンダー/プラグインフォルダにありましたが)attachment_fuを再インストールしようとしましたが、それは役に立たないようです。

スキーマに問題があると私は驚くことはありません。既に、列名の誤植や参照の欠落などを修正する必要がありました。とにかく私はどこで死ぬか分からない?

ありがとうございます!

答えて

0

Rubyのバージョン(おそらく1.8.7以上)がattachment_fuには近すぎます。これを修正するには、attachment_fu自体を変更する必要があります。ファイルのベンダーを編集/プラグイン/ attachment_fu/libに/ technoweenie/attachment_fu.rbと行に66変更:

(終わり)
options[:path_prefix].first == '/' 

options[:path_prefix].starts_with? == '/' 

代替には、Rubyのバージョンをダウングレードすることです1.8.6(おそらく、もっと低いかもしれません)または別のプラグインを使用してください。 Attachment_fuはもうサポートされていません。最近はPaperclipが使用されています。

このエラーの詳細については、hereで説明しています。

関連する問題