Rails: связь между двумя слабо связанными моделями - PullRequest
0 голосов
/ 05 декабря 2010

Я работаю над веб-приложением Ruby on Rails 3 и не знаю, как соотнести две модели.

В нашей организации торговые представители выходят на приемы. Если встреча прошла успешно, это приведет к созданию заказа (который затем будет иметь отношение к заказанным товарам, но на другой день.) Если эта встреча не удалась, она будет помечена как не продажа и, как вы могли бы иметь угадал, заказ не создан.

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

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

Как разработчик справляется с чем-то подобным? Есть ли назначение: have_many => заказы? делает заказ: принадлежат_> = назначения? Я не знаю что делать!

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

1 Ответ

1 голос
/ 05 декабря 2010

Как вы уже сказали, нормально будет работать следующее:

class Appointment < ActiveRecord::Base
  has_many :orders
end

class Order < ActiveRecord::Base
   belongs_to :appointment
end

own_to требует наличия поля assign_id в таблице заказов. Но, если заказ не связан с заказом, назначение_после не нужно устанавливать. Вы можете иметь несколько ассоциаций принадлежащих для данного класса.

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