Ruby rails控制台中的调试

Ruby rails控制台中的调试,ruby,ruby-on-rails-3,rails-console,Ruby,Ruby On Rails 3,Rails Console,我想在rails控制台中测试这个脚本 Gem.find_files("models/*.rb").each do |f| filename = File.basename(f, '.*') class_name_symbol = filename.classify.to_sym autoload class_name_symbol, "models/#{filename}" end 我想做的是在控制台中打印结果,但只能使用 Gem.find_files("models/*.rb

我想在rails控制台中测试这个脚本

Gem.find_files("models/*.rb").each do |f| 
  filename = File.basename(f, '.*')
  class_name_symbol = filename.classify.to_sym
  autoload class_name_symbol, "models/#{filename}"
end
我想做的是在控制台中打印结果,但只能使用

 Gem.find_files("models/*.rb")
哪个返回这个

["/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/portfolio_sector.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/post.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/image.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/message.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/sector.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/portfolio.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/category.rb"] 
小费感谢

使用answer后,输出为

models/portfolio_sector
models/post
models/message
models/sector
models/portfolio
models/category
=> ["/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/portfolio_sector.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/post.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/image.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/message.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/sector.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/portfolio.rb", "/home/richardlewis/.rvm/gems/ruby-1.9.3-p448@myblogView/bundler/gems/blogModels-8360dfc861ad/lib/models/category.rb"] 
不确定数组为什么在末尾

编辑:


脚本应该获取数组中的每个项,并自动加载models/#{filename}中包含的文件。我想在控制台中打印出所有的model/#{filename}路径,以确保它们是正确的–

只需插入一个
就可以将
放在正确的位置。请参阅我的答案。因为它从
#each
方法返回一个枚举数,所以您可以得到arrayDebug打印是非常有用的技术。:)是的,似乎是这样,我将在我的问题中发布输出,为什么数组出现在末尾?@Richlewis:因为它是每个
的返回值。请参阅更新的答案。因此,当im自动加载im时,例如加载路径模型/组合,而不是加载阵列中的路径?我只是在gem中加载这些路径时才问,它没有加载我的任何模型类
Gem.find_files("models/*.rb").each do |f| 
  filename = File.basename(f, '.*')

  # So, instead of passing this filename to autoload, you print it. Or do both.
  puts "models/#{filename}"

  # class_name_symbol = filename.classify.to_sym
  # autoload class_name_symbol, "models/#{filename}"
end && nil # suppress return value from `each`