Доброе утро всем,
У меня есть ассоциация, над которой я работаю, и по какой-то причине я не могу получить ее, чтобы сохранить изменения рассматриваемого объекта при отладке в IRB. Мне было интересно, если кто-нибудь может указать на мою проблему.
Вот ассоциация:
class User < ActiveRecord::Base
has_and_belongs_to_many :affiliates
has_one :managed_affiliate, :class_name => "Affiliate", :foreign_key => "manager_id"
end
class Affiliate < ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :manager, :class_name => "User"
#The affiliates table has a foreign key field of manager_id
end
Когда я запускаю IRB, я могу получить User.first и Affiliate.first. Я могу просто установить user_affiliate пользователя. Однако, когда я сохраняю, это никак не отражается на партнере - у него нет менеджера. Точно так же я могу настроить менеджера партнера точно так же (Affiliate.first.manager = User.first). Он возвращается, как будто все в порядке, но когда я иду сохранить, он просто возвращает «ложь». Если я активирую функцию регистрации IRB, это вывод:
SQL (0.1ms) BEGIN
SQL (0.2ms) ROLLBACK
Есть ли какая-либо очевидная причина, по которой эта ассоциация не будет сохранена должным образом?
Кроме того, вот схема для таблицы филиалов:
create_table "affiliates", :force => true do |t|
t.string "name"
t.string "website"
t.integer "market_id"
t.datetime "created_at"
t.datetime "updated_at"
t.string "logo_file_name"
t.string "logo_content_type"
t.integer "logo_file_size"
t.boolean "track_subs"
t.integer "manager_id"
end
Спасибо за любую помощь.