获得"未定义的方法包括?'" 对于请求。用户代理
-
19-09-2019 - |
题
我已经有了这一行代码:
if request.user_agent.include?("iPhone") then
但是我偶尔会得到这个错误:
"undefined method `include?' for nil:NilClass"
当检查日志上的错误,没有一个"HTTP_USER_AGENT
"对用户得到的错误。
所以我怎么可以修复这条线这样就不会引发一个错误,如果没有一个 HTTP_USER_AGENT
?
解决方案
其他提示
检查它的零或救异常的自己。
NSD是正确的。
你也可以使用 try
作为一个短期切:
request.user_agent.try(:include?, "iPhone")
try
不会错误,当地接收器为零,所以你可以把它们合在一起,像这样:
foo.try(:bar).try(:baz)
不隶属于 StackOverflow