Rails: можно ли добавить дополнительный атрибут к ассоциации has_and_belongs_to_many?

Я имею в виду, что если у меня есть две модели, связанные ассоциацией has_and_belongs_to_many, могу ли я сохранить другие данные в таблице соединений для каждой ассоциации? То есть дополнительные данные не будут частью отдельной записи в любой таблице, а будут использоваться вместо связи между ними.

Мои настоящие модели следующие:

class Part < ActiveRecord::Base
  has_and_belongs_to_many :assemblies
  has_and_belongs_to_many :packages
  belongs_to :user

  validates :name, :user_id, :presence => true
end

class Package < ActiveRecord::Base
  has_and_belongs_to_many :parts
  belongs_to :user
end

Дело в том, что каждая часть доступна во многих пакетах, и каждый пакет состоит из разных частей. Я хочу добавить количество. Это будет не количество каждой части, а количество каждой упаковки каждой части.

Я не могу найти, как это сделать в ActiveRecord. Если бы я не использовал rails / activerecord, я бы просто добавил столбец количества в таблицу соединений, которая связывает части с пакетами. Очевидно, я мог бы внести это изменение при миграции, но как мне получить доступ к значению с помощью ActiveRecord?

19
задан Arslan Ali 16 June 2016 в 20:12
поделиться