Симметричные, самореферентные отношения HABTM


В моей схеме есть модель Imprintables. В этой модели у меня есть эти самореферентные отношения:

class Imprintable < ActiveRecord::Base
  has_and_belongs_to_many :coordinates, class_name: 'Imprintable', association_foreign_key: 'coordinate_id', join_table: 'coordinates_imprintables'
...
end

В форме «Создать / редактировать», которую можно ввести, у меня есть поле выбора, в котором пользователи могут выбирать координаты для импринтинга (координаты используются для идентификации импринтируемых, которые похожи на те, которые создаются / редактируются). Моя проблема в том, что если у меня есть импринтируемый A и и импринтируемый B, когда я создаю A и перечисляю B в качестве координаты, которую можно впечатать, я хочу иметь возможность просматривать форму редактирования для B и видеть, что A также указан в качестве координаты.

Я попытался изменить обновление контроллера и создать действие, чтобы вставить обе пары идентификаторов в таблицу компоновщика (arguments_imprintables). Например, если A.id = 1 и B.id = 2, тогда выполняется некоторый sql:

INSERT INTO coordinates_imprintables (imprintable_id, coordinate_id) VALUES (1, 2)
INSERT INTO coordinates_imprintables (imprintable_id, coordinate_id) VALUES (2, 1)

Но я не мог заставить его работать, потому что я не уверен, как узнать, когда пользователь пытается удалить или вставить координату, и я даже не уверен, что это правильный ответ в любом случае. Railscasts были незначительно полезны, это только кажется сложным случаем, потому что у меня есть модель с самообращающейся связью, которая также симметрична. Спасибо за ваше время!

Ответы на вопрос(1)

Ваш ответ на вопрос