I have tried this both ways and each time same results, duplicate
entries.

Here is the simple test:
t = Trim.find(:first, :conditions => ['id > 65000000'])
options = Option.find_all_by_trim_id(t.id)
puts options.size
v = NewVehicle.new({:trim_id => t.id})
v.option_ids = options.map {|o| o.id}
v.save

I also tried it just with v.options = options, using option_ids was
just another attempt to make this work

The size of options in this case is 47.  options_vehicles which is my
join table will have 94 results exactly 2 of each one option.  So if
the option_id = 6 and vehicle_id is 4 i have 6,4 in the join table
twice.

I am doing one thing a little odd, but i have no idea what's causing
this issue.  My models look like this:
Option.rb
 set_primary_key "option_id"
  has_many        :options_vehicles
  has_many        :vehicles, :through => :options_vehicles

I have to use option_id as the primary key and it's a string.  This is
other data i'm importing and I can't change the way it's organzied.

Vehicle.rb
  has_many        :options_vehicles,
  has_many        :options, :through => :options_vehicles

My join table looks like a habtm table because it was.  I have tried
this both ways activerecord continues to put in dupes.

I actually went into the code at
/data/www/production/vendor/rails/activerecord/lib/active_record/
associations.rb:1392
and put prints in there and see it showing the size of the records to
save as 47, but it's going through here twice.

I have option_id in options marked as the primary key with a unique
index in mysql.

Any help would be appreciated I feel like I'm going crazy...
Erik
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to