Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby铁路图生成器因Enumerable::Enumerator中[]的NoMethodError失败_Ruby On Rails_Schema_Uml_Ruby On Rails Plugins - Fatal编程技术网

Ruby on rails Ruby铁路图生成器因Enumerable::Enumerator中[]的NoMethodError失败

Ruby on rails Ruby铁路图生成器因Enumerable::Enumerator中[]的NoMethodError失败,ruby-on-rails,schema,uml,ruby-on-rails-plugins,Ruby On Rails,Schema,Uml,Ruby On Rails Plugins,我正在尝试使用铁路gem生成模型图。我已经为一个不同的应用程序生成了一个图表,但我正试图绕过一些遗留代码,并不断遇到问题 我对ruby或rails知之甚少,所以如果有任何帮助,我将不胜感激 基本上,我运行: $ railroad -v -M 并获得: Loading application environment Loading application classes ./config/../vendor/rails/activerecord/lib/../../activesupport/l

我正在尝试使用铁路gem生成模型图。我已经为一个不同的应用程序生成了一个图表,但我正试图绕过一些遗留代码,并不断遇到问题

我对ruby或rails知之甚少,所以如果有任何帮助,我将不胜感激

基本上,我运行:

$ railroad -v -M
并获得:

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
我尝试重新安装附件,它已经在供应商/插件文件夹中,但似乎没有帮助

如果模式出现问题,我不会感到惊讶——我已经不得不修复列名中的拼写错误、缺少引用之类的问题。有没有办法让我知道它会死在哪里


非常感谢

您的Ruby版本,可能是1.8.7或更新版本,对于附件来说太现代了。要解决这个问题,您需要更改附件本身。编辑文件vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb并在第66行更改:

options[:path_prefix].first == '/'
到头来

options[:path_prefix].starts_with? == '/'
备选方案是将您的Ruby版本降级到1.8.6,甚至更低,或者使用不同的插件。附件_-fu不再受支持。这些天都在使用

将更详细地描述此错误