0
我有一個模型Order
這就好比Rails的?爲什麼叫'有效'不僅驗證了一些相關的記錄不是所有相關記錄
# app/models/order.rb
class Order< ApplicationRecord
has_one :detail
has_one :extra
..
end
我有兩個orders
order1 = Order.first
order1.detail #<OrderDetail:0x00 name: "abc", remark: 'test1'>
order1.extra #<OrderExtra:0x00 email: nil, recipent: nil>
order2 = Order.second
order1.detail #<OrderDetail:0x00 name: "abc", remark: 'test1'>
order1.extra #<OrderExtra:0x00 email: nil, recipent: "xyz">
當我請致電order1.valid?
或order1.save!
它不會檢查OrderExtra
驗證並返回true。但是當我撥打order2.valid?
或order2.save!
時,它會檢查OrderExtra
驗證。
order1.save! # true
order2.save! # ActiveRecord Invalid OrderExtra
我想知道如何軌檢查,如果他們要檢查相關的驗證,當呼叫save!
和背後的原因。
請讓我知道,如果任何額外的需求在此。
謝謝,這有助於我。但我更感興趣知道軌道如何決定驗證相關記錄的原因?在我的情況下,它驗證一個,同時放棄檢查另一個訂單。 – punitcse