简单示例:
val = (params[:page] ? params[:page] : nil)
我只是不知道如何命名,然后找不到更好的答案
我觉得这个例子存在一个更简单的语法;并想知道如何更好地写它
答案 0 :(得分:4)
您可以像这样使用||
:
val = params[:page] || nil
如果params[:page]
为nil
或false
,val
将为nil
。在所有其他情况下,它将是params[:page]
的值。
答案 1 :(得分:0)
您可以这样做:
val = params[:page]
您正在使用三元运算符,这意味着
condition ? true do this : false do this
将以上内容应用于您的示例:
params[:page] ? params[:page] : nil
在Ruby中,除true
或nil
外,任何返回值都被视为false
。因此,如果params[:page]
有一个值(即条件true
),那么您将为其分配val
的值。如果是nil
,则您将val
指定为nil
。因此,最终您只需分配val
params[:page]
所具有的任何值。因此val = params[:page]
此逻辑的最新示例将简化为:
%body{data: {page: params[:page]}}
我需要属性真的为零;事情并非如此 只有:
%body{data: {page: params[:page]}}
如果params[:page]
没有值,则默认为nil
。所以除了false
之外,你的假设是不正确的。