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