Mobile Fu 技术文档
1. 安装指南
Mobile Fu 是一个用于自动检测访问 Rails 应用的移动设备的插件。以下是安装步骤:
Rails 3 兼容性
若要在 Rails 3 环境下使用 Mobile Fu,请按照以下步骤安装:
rails plugin install git://github.com/brendanlim/mobile-fu.git
Rails 2 兼容性
若要在 Rails 2 环境下使用 Mobile Fu,请从 2.x 分支安装:
script/plugin install git://github.com/brendanlim/mobile-fu.git -r 2.x
2. 项目的使用说明
在控制器中添加以下代码,以启用 Mobile Fu 功能:
class ApplicationController < ActionController::Base
has_mobile_fu
end
一旦完成以上设置,任何来自移动设备的请求将被设置为 :mobile
格式。如何处理这些请求取决于您自己。同时,您需要创建视图的 .mobile.erb
版本以供请求。
然后,在 config/initializers/mime_types.rb
文件中添加以下代码行:
Mime::Type.register_alias "text/html", :mobile
建议您设置一个 before_filter
,以便根据是否是移动设备请求重定向到特定页面。如何检查呢?
is_mobile_device? # 返回 true 或 false,取决于设备
您还可以通过以下方式确定当前的请求格式:
in_mobile_view? # 返回 true 或 false,取决于当前的请求格式
如果希望用户能在 'mobile' 和 'standard' 格式 (:html
) 之间切换,可以在自定义控制器操作中调整 mobile_view
会话变量:
session[:mobile_view] # 如果请求格式为 :mobile 则设置为 true,如果设置为 :html 则为 false
不同设备需要不同的样式。不必担心,Mobile Fu 已经内置了这一功能。
如果您通过 stylesheet_link_tag
引入 CSS 或 Sass 文件,只需在文件名中添加 _device
后缀即可覆盖特定设备的样式。加载的样式表取决于哪个设备正在发出请求。
例如,从 Blackberry 访问页面:
... stylesheet_link_tag 'mobile.css' ...
这将加载 mobile.css
,如果存在 mobile_blackberry.css
,则会加载该文件。
目前支持的样式覆盖设备扩展名有:
- blackberry
- iphone (iphone, ipod)
- ipad
- android
- mobileexplorer
- nokia
- palm
样式表的强大功能来源于 Michael Bleigh 的 browserized styles。
Mobile Fu 的灵感来源于 Noel Rappin 的 rails_iui。
3. 项目 API 使用文档
Mobile Fu 提供以下方法供开发者使用:
has_mobile_fu([boolean])
: 启用 Mobile Fu 功能,可选参数boolean
用于强制使用移动界面。is_mobile_device?
: 检查当前请求是否来自移动设备。in_mobile_view?
: 检查当前请求格式是否为移动格式。session[:mobile_view]
: 设置或获取当前会话的移动视图状态。
4. 项目安装方式
请参考上文“安装指南”部分的步骤进行安装。
鸿蒙开发工具大赶集
本仓将收集和展示鸿蒙开发工具,欢迎大家踊跃投稿。通过pr附上您的工具介绍和使用指南,并加上工具对应的链接,通过的工具将会成功上架到我们社区。012hertz
Go 微服务 HTTP 框架,具有高易用性、高性能、高扩展性等特点。Go01每日精选项目
🔥🔥 每日精选已经升级为:【行业动态】,快去首页看看吧,后续都在【首页 - 行业动态】内更新,多条更新哦~🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~029kitex
Go 微服务 RPC 框架,具有高性能、强可扩展的特点。Go00Cangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie057毕方Talon工具
本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python040PDFMathTranslate
PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython06mybatis-plus
mybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03国产编程语言蓝皮书
《国产编程语言蓝皮书》-编委会工作区018- DDeepSeek-R1探索新一代推理模型,DeepSeek-R1系列以大规模强化学习为基础,实现自主推理,表现卓越,推理行为强大且独特。开源共享,助力研究社区深入探索LLM推理能力,推动行业发展。【此简介由AI生成】。Python00
热门内容推荐
最新内容推荐
项目优选








