artyomst
@artyomst

Rails. ActiveRecord. Ассоциации?

Есть таблица Images. Как правильно сделать ассоциацию Images к самой себе, используя миграции? Как правильно назвать дополнительную связывающую таблицу? Что прописать в модели Image?
  • Вопрос задан
  • 3286 просмотров
Пригласить эксперта
Ответы на вопрос 1
@v1z
Всё, теперь понял.

Создаешь таблицу image_diff (например).

поля: image_id, second_image_id, percent

Class ImageDiff:
belongs_to :image
belongs_to :second_image, :class_name => «Image», :foreign_key => «second_image_id»

Class Image:
has_one :image_diff # связь один-к-одному, потому что first_image_id привязывается к модели Image

и можно будет обращаться:
im = Image.first

im.image_diff.percent
im.image_diff.second_image # тут он выведет все связи, поэтому нужно будет их перебирать по одному
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы