2011-03-08 17 views
17

Estoy trabajando en la detección del agente de usuarios para soporte técnico en un sitio para que el usuario no tenga que encontrarlo por sí mismo. Esto es lo que tengo hasta ahora, pero no importa en qué navegador lo pruebe, aparece como el valor predeterminado "Desconocido" ¿Alguna sugerencia sobre dónde me equivoqué?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 
+0

'mybrowser.scan first' devolverá el número de versión de IE, o nil. 'si no están usando IE. Solo pensé en agregar eso. – Zaz

Respuesta

50

Pruebe request.env['HTTP_USER_AGENT'] en su controlador. Si esto está en su modelo, páselo a tu modelo.

+4

O simplemente 'request.user_agent' –

4

Además, la comprobación de la gema agente de usuario: (./MSIE (\ d \ d *) /)

https://github.com/josh/useragent

+0

Ese proyecto ya no existe. –

+0

@ChrisCirefice Este funciona: https://github.com/gshutler/useragent –