除非保存父级,否则无法调用create

时间:2016-01-24 16:34:00

标签: ruby-on-rails

我有一个迭代

      current_item = line_items.create(product_id: product_id, instruction: instruction)
      current_item.save
      attribute_values.each do |attribute|
        current_item.line_item_attributes.create(product_attribute_id: attribute)
      end

它在创建属性时出错。当我打印出current_item时,我得到了

#<LineItem id: nil, product_id: 1, cart_id: 36, created_at: nil, updated_at: nil, quantity: 1, instruction: "", order_id: nil>

根据我的理解意味着它尚未保存。我该如何解决这个问题?

调用create!后,返回的错误是:

Validation failed: Order must exist

最近通过此迁移添加了订单模型:

class AddOrderToLineItem < ActiveRecord::Migration[5.0]
  def change
    add_reference :line_items, :order, index: true, foreign_key: true
  end
end

LineItem belongs_to :order。这里的问题是我希望它是空白的,因为在这种情况下它还不属于订单。

0 个答案:

没有答案