2011-06-24 26 views
1

我是新來的鐵軌和我正在做一個簡單的形式。在形式上,我有一個領域問道:「你喜歡冰淇淋嗎?」導軌3選擇(下拉菜單)驗證

<%= f.label "Do you like ice cream?" %> 
<%= f.select :support_type, [['Yes'],['No']] %> 
<%= f.submit "Submit" %> 

我想驗證用戶選擇「是」,並吐出一個錯誤和突出的形式(如validates_presence_of會爲一個不完整的形式做的),如果用戶提交了「否」的回答。我創建了一個驗證方法:

def validate 
    if self.support_type == 'Yes' 
    errors.add(:support_type, "You are crazy") 
    return false 
    end 
    end 

但這似乎並不適用於我。任何幫助或暗示將不勝感激。謝謝。

模型中的

回答

1

請執行以下操作:

validate :my_validation_method 

def my_validation_method 
    if self.support_type == 'Yes' 
    errors.add(:support_type, "You are crazy") 
    return false 
    end 
end 

驗證是一個類方法,它需要得到一個驗證方法的名稱。

你可以有幾個人:爲幫助

validate :my_validation_method 
validate :my_validation_method2 
+0

完美的感謝 – Andy