Vorrei poter aggiungere l'eccellente risposta di Jon Garvin. Questo è proprio come la sua versione, ma non usa method_missing (che è piuttosto spaventoso nel contesto globale e non consente il completamento della tabulazione). Inoltre, attende che tu chiami load_fixtures da irb prima di caricare i tuoi dispositivi.
Inserisci questo nel tuo .irbrc o semplicemente incolla da qui.
# Loads all fixtures, then defines the Rails fixture helpers.
# For example: users(:jon) will load the jon fixture from fixtures/users.yml
def load_fixtures
require 'active_record/fixtures'
Dir["#{Rails.root}/{test,spec}"].each do |dir|
Dir["#{dir}/fixtures/*.yml"].map { |filename| filename.match(/\/([^\/]+)\.yml/)[1].to_sym }.each do |name|
ActiveRecord::FixtureSet.create_fixtures('spec/fixtures', name)
define_method(name) { |*args|
name.to_s.singularize.titleize.constantize.find(ActiveRecord::FixtureSet.identify(args[0]))
}
end
end
end
Esempio utilizzo:
$ irb
irb(main):001:0> load_fixtures
=> ["oweto/spec"]
irb(main):002:0> users(:chuy)
=> #<User id: 242462757, email: "[email protected]", password_digest: ...>
fatemi sapere se si desidera che alcune indicazioni factory_girl. Sono sicuro che sia abbastanza potente per gestire qualsiasi complessità tu stia attualmente trattando nei tuoi dispositivi. –