Rails 3选择(下拉菜单)验证

时间:2011-06-24 19:31:26

标签: ruby-on-rails-3 forms validation

我是rails的新手,正在制作一个简单的表格。在表格中我有一个字段,询问“你喜欢冰淇淋吗?”

<%= 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 个答案:

答案 0 :(得分: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是一个类方法,需要给出一个验证方法名称。

你可以有几个:

validate :my_validation_method
validate :my_validation_method2