我有以下问题:
我有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,新的应用程序保持不变。
任何建议?谢谢!
答案 0 :(得分:0)
新应用应该有一个order_id,但不是用户编码的方式。此外,如果您希望它们持久存在,则需要创建而不是构建。
order = current_user.orders.create
current_user.apps.create(order: order)
将要设置的唯一ID是用于构建/创建的关系的一部分。还需要传递任何其他内容。