我该怎么做这样的事情?
if params[:property] == nil
@item.property = true
else
@item.property = false
总是忘记将其写在一行中的正确语法。
在 PHP 中它会是这样的:
@item.property=(params[:property]==nil)true:false
在rails中是一样的吗?
我该怎么做这样的事情?
if params[:property] == nil
@item.property = true
else
@item.property = false
总是忘记将其写在一行中的正确语法。
在 PHP 中它会是这样的:
@item.property=(params[:property]==nil)true:false
在rails中是一样的吗?
使用三元运算符:
@item.property = params[:property] ? true : false
或强制进行布尔转换(“非非”操作):
@item.property = !!params[:property]
注意:在 ruby 中,不使用真正的布尔值是一个常见的习惯用法,因为除false
or之外的任何对象都nil
计算为true
。
m_x 答案是完美的,但您可能有兴趣了解其他方法,在其他情况下可能看起来更好:
if params[:property] == nil then @item.property = true else @item.property = false end
或者
@item.property = if params[:property] == nil then true else false end