【Rails】Desktop/Mobile 的模板分离

背景

随着智能化手机的普及,越来越多的用户开始使用手机终端来进行网页浏览。为了在电脑和手机端都能达到理想的效果,并尽可能的减少工作量,Rails 4.1 开始追加了 variant,帮助网站开发人员能够使用不同模板来对应不同终端的需求。

安装 Gem: Browser

browser 是一个用于分析 User Agent 以获取用户手机端信息的 Gem
https://github.com/fnando/browser

1
gem 'browser'

修改 application_controller.rb

1
2
3
4
5
6
before_action :detect_device_variant
private
def detect_device_variant
request.variant = :sp if browser.mobile?
end

创建不同模板对应不同终端

1
2
app/views/show.html+sp.erb
app/views/show.html.erb
Yunjie Zhang wechat
扫一扫上面的二维码加我微信