Я пытаюсь создать базовую ассоциацию принадлежащих к хасу, но столкнулся с проблемой.Кажется, что объявленный столбец внешнего ключа класса не обновляется.Вот мои модели:
#
# Table name: clients
#
# id :integer not null, primary key
# name :string(255)
# created_at :datetime
# updated_at :datetime
#
class Client < ActiveRecord::Base
has_many :units
...
attr_accessible :name
end
#
# Table name: units
#
# id :integer not null, primary key
# client_id :integer
# name :string(255)
# created_at :datetime
# updated_at :datetime
#
class Unit < ActiveRecord::Base
belongs_to :client
...
attr_accessible :name
end
Когда я открываю консоль рельсов, я делаю следующее:
#This works as it should
c1 = Client.create(:name => 'Urban Coding')
u1 = c1.units.create(:name => 'Birmingham Branch')
Выше приведены правильные результаты.У меня есть клиент и подразделение.В блоке правильно заполнено поле внешнего ключа client_id.
#This does not work.
c1 = Client.create(:name => 'Urban Coding')
u1 = Unit.create(:name => 'Birmingham Branch')
u1.client = c1
Я чувствую, что вышеупомянутое должно иметь тот же эффект.Однако, это не так.У меня есть юнит и клиент, но столбец Единицы client_id не заполнен.Не уверен, что именно я делаю не так здесь.Помощь приветствуется.Дайте мне знать, если вам нужна дополнительная информация.