:environment
のようなレイクタスクはどこに定義されていますか? :environment
より軽いものがありますが、これはRakeタスクからActiveRecordサブクラスにアクセスできますか?Rakeを使用して子孫のリストを見つけることができません
私はRakeタスクでモデルのリストを取得しようとしています。これは私が持っているものです:私は定義された3つのモデルを持っているものの
namespace :mine do
namespace :ar do
desc "my custom"
task :show_sub => [:environment] do
puts "Total:#{ActiveRecord::Base.descendants}"
ActiveRecord::Base.descendants.each do |cls|
puts cls
end
end
end
end
はしかし、私が今まで取得すべては、[]
です。
編集:私はRails 3.1を使用しています。
本当に、それは速い結果のアプローチですが、 '
Geo
さて、しかし、あなたはちょっとパターンを洗練して、ActiveRecord :: Baseがハッシュマーク(コメントを示す)の後ろにある行と一致しないようにする必要があります。正規表現は簡単にこの問題を解決するのに十分強力で、 'ActiveRecord'とその依存関係が得られるように環境を下ろそうとするよりもはるかに高速になるでしょう。 – jefflunt