Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4验证接受空值_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails 4验证接受空值

Ruby on rails Rails 4验证接受空值,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我有一个与用户模型相关的狗模型 class Dog < ActiveRecord::Base belongs_to :user validates :name, :presence => true end 由于某种原因,验证不起作用。它允许我创建新狗,即使:name值为“” 我在用户模型上使用了类似的验证,效果很好。想法?尝试添加允许为空:false。虽然在场应该有效Presence使用object的blank?方法检查值是nil还是blank。看看下面的代码是否有效

我有一个与用户模型相关的狗模型

class Dog < ActiveRecord::Base
  belongs_to :user

  validates :name, :presence => true

end
由于某种原因,验证不起作用。它允许我创建新狗,即使:name值为“”


我在用户模型上使用了类似的验证,效果很好。想法?

尝试添加
允许为空:false
。虽然
在场
应该有效
Presence
使用object的
blank?
方法检查值是
nil
还是blank。看看下面的代码是否有效

class Dog < ActiveRecord::Base
  belongs_to :user

  validates :name, presence: true, allow_blank: false

end
classdog
您可以使用strict:true,这将引发预期的错误

class Dog < ActiveRecord::Base
  belongs_to :user
  validates :name, presence: { strict: true }
end
classdog
有一个
:allow_blank
选项,该选项默认为false,但可能明确地将其放入其中会有所帮助?尝试验证:name、:presence=>true、:allow\u blank=>false。尝试了。仍然允许我创建没有名字的新狗。@user2573222检查是否重新启动您的服务器??您是否在Github上有该项目,或者我们可以尝试使用它的某个地方?这是一个奇怪的错误。是的,我重新启动了服务器。该项目是私有的,抱歉。不,添加allow_blank:false无法解决问题。根据上述建议,我得到以下错误:
ActiveModel::StrictValidationFailed in DogsController#create
class Dog < ActiveRecord::Base
  belongs_to :user
  validates :name, presence: { strict: true }
end