在Rails上,是否有快捷方式检查布尔定义的变量并使用其值或使用默认值(如果未定义)?

时间:2013-03-30 06:49:39

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

在Ruby on Rails 3上,我试图使用布尔变量的值(如果已定义),否则使用默认值true。我该怎么写这样的东西?

if var.defined?
  var 
else
 true
end

提前致谢

2 个答案:

答案 0 :(得分:1)

你可以这样做:

aVar ||= aVar.nil?

如果变量还没有值,则将值赋值为true。

如果左变量没有值,||=运算符会为左变量赋值。它非常适合为变量分配默认值。如果aVar.nil?不存在或aVar值,则nil会返回true。它们共同实现了您的目标。

答案 1 :(得分:-2)

您可以尝试:

if var.present?  
 var  
else  
 true  
end