row = {"joining_date"=>"18/07/2015", "name"=>" Joe Doe ", "company"=>" Google", "location"=>" New York ", "role"=>"developer", "email"=>"joe@doe.com", "mobile"=>"11-(640)123-45674", "address"=>"4 XYZ Road", "validity"=>"true"}
row
仅在其中任何一个字段(joining_date, name, company, location, email, address
)为nil
或present
时无效。
def is_valid?
valid = true
if row[:name] == nil || row[:joining_date] == nil || row[:address] == nil || row[:email] == nil || row[:company] == nil || row[:location] == nil
valid = false
end
valid
end
有没有什么方法可以简化和重构上面的方法在rails中使用正则表达式来发现它更有效?
答案 0 :(得分:0)
可能,但我不会使用正则表达式,因为它在哈希中。当您使用rails时,可以使用present?
或blank?
。
row.values.any?(&:blank?)
如果有空白则返回true
适合您的情况
def is valid?
row.values.all?(&:present?)
end