Ruby on rails 检查我的哈希是否包含rails的所有参数

Ruby on rails 检查我的哈希是否包含rails的所有参数,ruby-on-rails,hash,Ruby On Rails,Hash,嗨,想检查我的散列是否包含所有参数,例如 product => {name: 'Test Product', sku: 'test_123', price: '' } 这是我的散列,在这个散列中,price参数包含空值,所以我将如何检查witherprice是否为空,或者是否在一行中使用rails函数 谢谢我希望这对你有用 product.all? {|k,v| !v.empty?} 如果缺少任何值,则返回false。我希望这对您有用 product.all? {|k,v| !v.em

嗨,想检查我的散列是否包含所有参数,例如

product => {name: 'Test Product', sku: 'test_123', price: '' }
这是我的散列,在这个散列中,price参数包含空值,所以我将如何检查witherprice是否为空,或者是否在一行中使用rails函数


谢谢

我希望这对你有用

product.all? {|k,v| !v.empty?}

如果缺少任何值,则返回false。

我希望这对您有用

product.all? {|k,v| !v.empty?}

如果有任何值丢失,那么它将返回false。

您可以通过ruby方式进行尝试

product.values.all? {|x| !x.blank? }
对于rails,对该属性使用模型验证

validates :price, presence: true, allow_blank: false

你可以用ruby的方式试试

product.values.all? {|x| !x.blank? }
对于rails,对该属性使用模型验证

validates :price, presence: true, allow_blank: false

在这里,我发现另一个简单的解决方案可能是,如果存在nil,这也会有帮助

product.values.include? "" and product.values.include? nil

谢谢

我在这里发现了另一个简单的解决方案,如果没有,这也会有帮助

product.values.include? "" and product.values.include? nil

谢谢

FYI,任何参数都可以为空,例如名称或sku。FYI,任何参数都可以为空,例如名称或sku。谢谢这是一种简单的方式:)谢谢这是一种简单的方式:)