0

我有一个用户注册表单,我试图将创建帐户的能力限制为具有特定访问代码的用户。我遇到了能够验证该特定代码的问题。我已经包含了我能够拼凑但对我不起作用的代码。

#new.html.erb

 <%= f.text_field :access, placeholder: "Access Code", required: "required" %>

#user.rb

validate :check_code
def check_code
  errors.add(:base, 'Try another code') unless User.where(:access == "theAccessCode")
end

有人可以建议此验证的替代方法吗?

4

1 回答 1

0

如果有一个正确的访问代码,我认为你想要这样的东西:

ACCESS_CODE = 'secretCode'
def check_code
  errors.add(:base, 'Try another code') unless self.access == ACCESS_CODE
end

或者,您的代码可能需要看起来像这样才能工作(尽管查询现有用户似乎仍然是错误的):

def check_code
  errors.add(:base, 'Try another code') unless User.where(:access => "theAccessCode").exists?
end
于 2013-01-08T22:10:31.190 回答