request.user_agent에 대해 "정의되지 않은 메소드`include" "가져 오기
-
19-09-2019 - |
문제
이 코드 라인이 있습니다.
if request.user_agent.include?("iPhone") then
하지만 때때로이 오류가 발생합니다.
"undefined method `include?' for nil:NilClass"
오류의 로그를 확인할 때 "HTTP_USER_AGENT
"오류가 발생하는 사용자의 경우.
그래서 어떻게 해당 줄을 수정할 수 있으므로 HTTP_USER_AGENT
?
해결책
Rails 2.3.xx의 경우 객체#시도를 사용할 수도 있습니다.
request.user_agent.try(:include?, 'iphone')
확인하다 여기 더 많은 정보를 위해서.
다른 팁
nil을 확인하거나 예외를 직접 구출하십시오.
NSD가 옳습니다.
당신은 또한 사용할 수 있습니다 try
바로 가기 :
request.user_agent.try(:include?, "iPhone")
try
수신기가 NIL 일 때 오류가 발생하지 않으므로 다음과 같이 함께 체인 할 수 있습니다.
foo.try(:bar).try(:baz)
제휴하지 않습니다 StackOverflow