Hi,
Can someone help me with this, why does it not work when the association
is already set, shouldn’t it be overridden?
require ‘rubygems’
require ‘activerecord’
ActiveRecord::Base.establish_connection(:adapter => ‘sqlite3’, :database
=> ‘:memory:’)
class Rider < ActiveRecord::Base
connection.create_table :riders, :force => true do |t|
t.string :name
end
has_many :starts
end
class Start < ActiveRecord::Base
connection.create_table :starts, :force => true do |t|
t.string :class_no
t.integer :rider_id
end
belongs_to :rider
end
Why is not this true?
other_rider = Rider.create
start = Start.new(:rider => other_rider)
rider = Rider.create(:starts => [start])
puts rider.starts.reload.size == 1 # => false
This works
rider = Rider.create(:starts => [Start.create])
puts rider.starts.reload.size == 1 # => true
And this
rider = Rider.create(:starts => [Start.create(:rider_id =>
Rider.create.id)])
puts rider.starts.reload.size == 1 # => true
Thanks