我原以为如果在模型文件中正确设置了表关系,ActiveRecord 会负责更新数据并将数据插入到联结表中。
不是这样吗?
例如,我有一个看起来像这样的 dvd.rb 模型:
has_and_belongs_to_many :dvd_producer
连接表被相应地命名dvd_producers_dvds
(我知道,愚蠢的名字,但这是 ActiveRecord 所期望的)。
基本上,当我通过以下方式将新生产者插入dvd_producers
表中时:
DvdProducer.create(producer: producer)
我希望 ActiveRecord 会自动将等效数据(producer_id、dvd_id)插入到联结表中。
也许我需要使用该new_producer.save
方法而不是create
?
或者这只是一个白日梦?