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