Я пытаюсь найти лучший способ обработки поля, хранящего количество одного и того же объекта в моей таблице соединений.has_many сквозные данные и дополнительные данные: count
class Element < ActiveRecord::Base
has_many :connections
has_many :connector_types, :through => :connections
end
class ConnectorType < ActiveRecord::Base
has_many :connections
has_many :elements, :through => :connections
end
class Connection < ActiveRecord::Base
belongs_to :element
belongs_to :connector_type
end
Когда я добавить ConnectorType
к Element
:
Connection
должен быть создан, если не для этогоConnectorType
- Если
Connection
для этого существуетConnectorType
,Connection#number
должно быть приращение
Когда я удаляю ConnectorType
из Element
:
Connection#number
следует уменьшать.- Если
Connection#number == 0
удалитьConnection
Я новичок в рельсах я не знаю рельсам способ сделать это:
- Ответный
- дамп поле номера и сохранить в виде повторяющихся строк в модели соединения.
- ...
Что вы хотите, чтобы ваш обратный вызов? У вас есть множество вариантов для этого http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html. Вы заглянули в has_and_belongs_to_many для объединения соединений? –