我已经有了这一行代码:

if request.user_agent.include?("iPhone") then 

但是我偶尔会得到这个错误:

"undefined method `include?' for nil:NilClass"

当检查日志上的错误,没有一个"HTTP_USER_AGENT"对用户得到的错误。

所以我怎么可以修复这条线这样就不会引发一个错误,如果没有一个 HTTP_USER_AGENT?

有帮助吗?

解决方案

对于轨2.3.xx你也可以使用对象的尝试

request.user_agent.try(:include?, 'iphone')

检查 在这里, 更多的信息。

其他提示

检查它的零或救异常的自己。

NSD是正确的。

你也可以使用 try 作为一个短期切:

request.user_agent.try(:include?, "iPhone")

try 不会错误,当地接收器为零,所以你可以把它们合在一起,像这样:

foo.try(:bar).try(:baz)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top