Art*_*uro 3 ruby curl boolean ruby-on-rails
我的Ruby on Rails函数应该接收一个布尔参数,检查它,如果是,则执行某些操作.
def isReady
if (params[:ready] == true)
doSomething()
end
end
Run Code Online (Sandbox Code Playgroud)
但是,通过下面的示例,我们永远不会进入这个if(但它进入函数),可能是因为参数是作为字符串而不是作为布尔值传递的.如何正确传递布尔参数或转换它们?
curl --data "ready=true" http://example.com/users/isReady
Run Code Online (Sandbox Code Playgroud)
可能是因为参数是作为字符串而不是布尔值传递的.
正确.我以通用 Ruby方式处理它的方式如下:
class String
def to_b()
self.downcase == "true"
end
end
Run Code Online (Sandbox Code Playgroud)
现在任何字符串都有to_b方法.你可以写
def ready?
if params[:ready].to_b
do_something
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2682 次 |
| 最近记录: |