From 2c2e4dfb51c62998621cc7be2ab33b58bdb52c65 Mon Sep 17 00:00:00 2001 From: Nicolas Florentin Date: Tue, 5 Apr 2016 12:28:22 +0200 Subject: [PATCH] active_record_base dump_fixtures method handle model without id column --- config/initializers/active_record_base.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/config/initializers/active_record_base.rb b/config/initializers/active_record_base.rb index 6c20d1d81..07b68d779 100644 --- a/config/initializers/active_record_base.rb +++ b/config/initializers/active_record_base.rb @@ -11,8 +11,15 @@ ActiveRecord::Base.class_eval do fixture_file = "#{Rails.root}/test/fixtures/#{self.table_name}.yml" mode = (File.exists?(fixture_file) ? 'a' : 'w') File.open(fixture_file, mode) do |f| - self.all.each do |instance| - f.puts({ "#{self.table_name.singularize}_#{instance.id}" => instance.attributes }.to_yaml.sub!(/---\s?/, "\n")) + + if self.attribute_names.include?("id") + self.all.each do |instance| + f.puts({ "#{self.table_name.singularize}_#{instance.id}" => instance.attributes }.to_yaml.sub!(/---\s?/, "\n")) + end + else + self.all.each_with_index do |instance, i| + f.puts({ "#{self.table_name.singularize}_#{i}" => instance.attributes }.to_yaml.sub!(/---\s?/, "\n")) + end end end end