我刚从PHP切换到Ruby on Rails,想知道是否有一种方法可以检测客户端设备/用户代理(读取HTTP头),以便根据收到的请求为不同版本的站点提供服务.在PHP中,我一直使用Mobile Detect来实现这一点.总体思路是只提供每个特定版本所需的文件.这就是为什么客户端方法没有那么有效.

有没有类似Ruby 2.0.0和Rails 4.0.0的方法?

也许有一个Ruby 来处理这样的案件?

推荐答案

判断request方法,在这里可以得到ActionDispatch::Request,其中包含所有请求参数,包括用户代理.

request.user_agent

Ruby-on-rails相关问答推荐

Rails 7.1解决冲突的Zeitwerk Inflection规则

错误正在被ViewComponent、Ruby on Rails中吞噬

链轮轨道V4链接到外部Ruby 的 list 文件

如何将 ActionController::RoutingError 分类为 Sentry 中的错误

尽管安装并需要 pry-rails gem,但 Rails 容器内出现未定义方法‘pry’错误

你如何发布到 Capybara 中的 URL?

有没有一种简单的方法可以让 pow 为 https 服务?

Rails 路由到唯一索引

如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

无法连接 localhost:3000 ruby​​ on rails in vagrant

判断 DateTime 值是今天、明天还是以后

价格字段的字符串、小数或浮点数据类型?

在 rake 任务期间关闭观察者的简单方法?

Rails 文章助手 - a 或 an

Ruby on Rails 错误无法加载此类文件 - 更少

RubyMine - 关闭在空行中间单击的功能

在 Rails 协会中未找到名为的协会可能拼写错误的问题

使用连接的 Ruby on Rails ActiveRecord 查询

如何为 Rails 控制器添加延迟以进行测试?

在 Rails 4.1 中,如何通过枚举符号查找记录?