验证rails模型中的硬编码值

时间:2012-10-15 15:06:17

标签: ruby-on-rails-3.1

我有一个注册表单,用户必须输入他的凭据以及一个名为促销代码的文本字段。因此,只有当促销代码的值为“akpoi”时才能提交表单。因此,用户必须输入此字符串以进行表单提交,否则它将向用户显示错误消息,因为“应在促销代码字段中输入akpoi”。如何在rails模型验证中检查这个?

2 个答案:

答案 0 :(得分:0)

这应该在控制器端进行检查

if params[:field_name] == "akpoi"

else

end

如果您坚持在模型中执行此操作,请执行以下操作

after_validation :check_field_value

def check_field_value
  self.errors.add(:comment, "Add Your Error Here") if field_name != "akpoi"
end

答案 1 :(得分:0)

我想你会想要使用inclusion

validates :promo_code, :presence => true,:inclusion => { :in => "akpoi" }