Многократные отношения с оболочкой mongoid - PullRequest
0 голосов
/ 18 апреля 2011

У меня следующая проблема:

У меня есть 3 модели заказов, пользователей и приложений со следующими отношениями:

Пользователи:

has_many :apps
has_many :orders

Заказы:

belongs_to :user
has_one :app

Программа:

belongs_to :user
belongs_to :app

на основе этих моделей я хочу сделать следующие запросы с mongoid (rails mongodb-wrapper):

@order = current_user.orders.new(...)
@app = @order.build_app()

В результате должно быть создано новое приложение и заказ, в котором у заказа есть app_id и user_id, а новое приложение получает только user_id. на самом деле он создает новый заказ и новое приложение, но только с user_id в заказе, новое приложение остается без изменений.

любой совет? спасибо!

1 Ответ

0 голосов
/ 18 апреля 2011

Новое приложение должно иметь идентификатор_порядка, но не идентификатор пользователя в соответствии с тем, как вы его кодировали. Кроме того, если вы хотите, чтобы они сохранялись, вам нужно создавать вместо сборки.

order = current_user.orders.create
current_user.apps.create(order: order)

Будут установлены только те идентификаторы, которые являются частью отношения, используемого для сборки / создания. Все остальное нужно передать.

...