For*_*low 5 parameters ruby-on-rails ruby-on-rails-4
我一直在到处寻找,我想知道我是否做错了什么。为了再次检查,我会问你们!
所以我正在接收paramsRails 控制器。一key, value对是:status => true/false. 但是,我发现当我尝试status以字符串形式发布时
:status => "THIS IS NOT A BOOLEAN"
并在我的控制器中创建我的对象,:status我的对象的属性变为false.
因此,rails 中是否有任何干净的方法来验证 my:status对应于布尔值?
谢谢!
这个很奇怪的方法会成功
def is_boolean?(item)
!!item == item
end
params[:status] = 'some string'
is_boolean?(params[:status])
# => false
params[:status] = true
is_boolean?(params[:status])
# => true
Run Code Online (Sandbox Code Playgroud)
稍微更直观的版本是
def is_boolean?(item)
item == false || item == true
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2688 次 |
| 最近记录: |