validates_presence_of只有屬性我有2種型號:的Rails:如果另一個屬性指定了值
- 型 - 模型數據類型
- 數據 - 模型數據
模型類型:
id
- 關鍵name
- 類型名稱
型號數據:
id
- 關鍵type_id
- 數據類型的IDmain_value
- 所需的數據 個
opt_value
- 可選數據(只需要指定數據類型)
我怎樣才能validates_presence_of
opt_value
,如果我知道,指定type.name
存在且不能更改?
這個方法我試過:
validates_presence_of :opt_value, :if => lambda { self.type_id == get_type_id }
def get_type_id
Type.find_by(name: 'i_know_this_type_exists') # with and without .id
end
但它不工作。我認爲是因爲我沒有從Data
模型到Type
模型。
雖然我可以插入遷移中預定義的數據類型,並知道哪些id
指定數據類型,但我不想硬編碼這個id
驗證:if => lambda { self.type_id == 2 }
(即使它的工作原理)內。
如何驗證此類情況?