Я использую существующую базу данных с приложением rails.
Я не могу изменить имена таблиц или столбцов.
Допустим, первая таблица - это "счета-фактуры", а вторая - "заказы"
у них обоих есть первичный ключ, который называется одним и тем же, скажем, "order_id"
Счета могут найти свой заказ, посмотрев на первичный ключ "order_id" в таблице заказов.
И наоборот для заказа, находящего его счет.
Счета могут иметь, но не всегда, один заказ (вам может быть выставлен счет за что-то кроме заказа, например, «work_order», который можно найти, посмотрев «order_id» в позиции первичного ключа «"work_orders". Таким образом, в накладных может быть work_order или заказ.
у заказов всегда есть счет. work_orders всегда имеет счет
Я пытаюсь выяснить классы в моделях.
Вы устанавливаете первичный и внешний ключи на одно и то же? Как насчет own_to? Способ установки этой БД, на самом деле ничему не принадлежит, они просто ссылаются друг на друга с помощью того же значения "order_id".как это?
class Invoice < ActiveRecord::Base
set_primary_key(:order_id)
set_foreign_key(:order_id)
end
- snip -
class Order < ActiveRecord::Base
set_primary_key(:order_id)
set_foreign_key(:order_id)
end
... И то же самое для рабочего задания.
class WorkOrder < ActiveRecord::Base
set_primary_key(:order_id)
set_foreign_key(:order_id)
end
Это правильно?Кажется, это дурацкий способ сделать это, но эта БД ужасна.
А как насчет всего, что относится к папке?
Дайте мне знать, если я что-то пропустил.
Спасибо!