web-dev-qa-db-ja.com

Rails 3:HTTP_USER_AGENT

ユーザーが自分で見つける必要がないように、サイトでテクニカルサポートのユーザーエージェントを検出するように取り組んでいます。これは私がこれまでに得たものですが、どのブラウザでテストしても、デフォルトの「不明」として表示されます。どこで問題が発生したかについての提案はありますか?

def cyberbrowser
    mybrowser = ENV["HTTP_USER_AGENT"] 
       case mybrowser 
         when /MSIE 8.0/ then "Internet Explorer V8" 
         when /MSIE 7.0/ then "Internet Explorer V7" 
         when /MSIE 6.0/ then "Internet Explorer V6.0+" 
         when /MSIE 5.5/ then "Internet Explorer V5.5" 
         when /MSIE 5.22/ then "Internet Explorer V5.22" 
         when /MSIE 5.0/ then "Internet Explorer V5.0+" 
         when /MSIE 4.0/ then "Internet Explorer V4.0+" 
         when /MSIE 3.0/ then "Internet Explorer V3.0+" 
         when /MSIE 2.0/ then "Internet Explorer V2.0+" 
         when /Firefox/ then "Mozilla Firefox"
         when /Camino/ then "Camino"
         when /Dillo/ then "Dillo"
         when /Epiphany/ then "Epiphany"
         when /Firebird/ then "Mozilla Firebird"
         when /Thunderbird/ then "Mozilla Thunderbird"
         when /Galeon/ then "Mozilla Galeon"
         when /IBrowse/ then "IBrowse"
         when /iCab/ then "iCab"
         when /K-Meleon/ then "K-Meleon"
         when /Konqueror/ then "Konqueror"
         when /SeaMonkey/ then "SeaMonkey"
         when /Netscape/ then "Netscape"
         when /OmniWeb/ then "OmniWeb"
         when /Opera/ then "Opera"
         when /Safari/ then "Safari"
         else  "Unknown"  
       end
end
19
mediarts

コントローラでrequest.env['HTTP_USER_AGENT']を試してください。これがモデルにある場合は、モデルに渡します。

51
johnmcaliley

また、UserAgentgemをチェックアウトします。

https://github.com/josh/useragent

4
outside2344