开发具有针对不同移动设备的特殊视图的 Rails 应用程序的最佳方法是什么?基本上我正在寻找这样的 ASP.NET MVC 解决方案:http ://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
7 回答
您可能正在寻找mobile_fu。它是一个插件,可以自动将 Rails 格式从 :html 更改为 :mobile,适用于诺基亚、黑莓、iPhone 和 Palm 用户。然后,您可以只提供一个{action}.mobile.erb
补充{action}.html.erb
,它将呈现移动视图。如果您需要更细粒度的东西,它允许您执行以下操作:
is_mobile_device?
还有其他各种辅助方法
两篇文章使用 iPhone 作为示例,基于移动子域或通过检测用户代理来提供不同的视图。本质上,您将使用 viewname.iphone.erb 或 viewname.mobile.erb 之类的东西创建不同的视图,并将 request.format 变量分别设置为 iphone 或 mobile。
iPhone on Rails - 使用 iUI 和 Rails 2 创建您的 Rails 网站的 iPhone 优化版本
我发现这个 railscast 对这种情况非常有帮助:http ://railscasts.com/episodes/199-mobile-devices
希望它可以帮助某人。
Ernie Miller 写了一篇关于如何为您的视图提供移动模板的帖子。很好的是,如果不需要,他的方法不会强迫您提供移动模板。相反,如果找不到移动版本,rails 将退回到您的主模板。
我最近写了一篇关于这个的文章,你可能会觉得很有用:
http://www.arctickiwi.com/blog/2-mobile-enable-your-ruby-on-rails-site-for-small-screens
希望有帮助
城野
我刚刚看到一个非常有启发性的视频:http ://www.engineyard.com/video/12678746 。除了直接移植页面之外,体面的移动网络体验还有很多。
您可能想尝试 Mobvious - https://github.com/jistr/mobvious
检测手机与台式机 + 平板电脑,或者如果需要,检测手机与平板电脑与台式机。
如果您希望允许用户手动切换界面版本,它还支持用户手动选择(覆盖检测)。
还有一个扩展mobvious-rails为您的控制器、视图和 CoffeeScript 添加了一些帮助程序。