2016-06-12 106 views
1

我有一個領域模型Product軌領域驗證如果

name price product_type_id:integer size:string page_quantity:integer. 

如何可以使Product模式create動作此驗證工作?

- if product_type.id == "1" 
    validates :size, presence: true 
    validates :page_quantity, presence:false 
- else 
    validates :size, presence: false 
    validates :page_quantity, presence:true 
end 

回答

2
validates :size, presence: true, if: Proc.new { |p| p.product_type_id == "1" } 
    validates :page_quantity, presence:false, if: Proc.new { |p| p.product_type_id == "1" } 
    validates :size, presence: false, unless: Proc.new { |p| p.product_type_id == "1" } 
    validates :page_quantity, presence:true, unless: Proc.new { |p| p.product_type_id == "1" } 
end 
+0

我想確認是不是'Product.id'但如果'== product_type_id在1'行動Product.create然後 – makerbreaker

+0

相應調整Kkuliks代碼! – bkunzi01

+0

@makerbreaker進行了調整,但我認爲主要想法應該很清楚。 – Kkulikovskis