Предположим, у меня есть следующие модели:
class Course < ActiveRecord::Base
has_many :contents
has_many :topics, :through => :contents
end
class Topic < ActiveRecord::Base
has_many :contents
has_many :courses, :through => :contents
end
class Content < ActiveRecord::Base
belongs_to :courses
belongs_to :topics
end
Если я хочу создать курс и тему на месте, я бы сделал:
t1 = Topic.create(name: "Topic 1")
t2 = Topic.create(name: "Topic 1")
Course.create(name: "Course 1", topics: [t1, t2])
Это автоматически создаст запись Content
. Если я добавлю дополнительный столбец к Content
, скажем my_column
, есть ли способ создать мой курс так же быстро, включая новый столбец Content
?
Что-то вроде:
Course.create(name: "Course 1", topics: [(t1, my_column: 1), (t2, my_column: 2)])