为什么这些在线验证失败

时间:2012-01-18 06:09:08

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

我正在尝试使用以下内容验证模型:presence =>在某些字段上为true,但即使这些字段为零,模型也会返回为有效。以下是我的重播模型的验证:

validate :match_id, :presence => true
validate :replay_url, :presence => true
validate :uploader_id, :presence => true

如果我打开控制台并键入以下内容,您可以看到我的意思:

1.9.3p0 :001 > r = Replay.new
 => #<Replay id: nil, match_id: nil, replay_url: nil, created_at: nil, updated_at: nil, uploader_id: nil> 
1.9.3p0 :002 > r.valid?
 => true 

有谁知道这是为什么?

2 个答案:

答案 0 :(得分:1)

您应该使用方法validates代替validate

答案 1 :(得分:1)

验证* 取值 *

validates :match_id, :presence => true
validates :replay_url, :presence => true
validates :uploader_id, :presence => true