1
34
我强烈建议在所有设备类型中保持控制器结构相同。尤其是当您使用Rails的RESTful路由时,您的控制器应该与数据的域模型紧密匹配。然后,这些数据是否会呈现给桌面浏览器、iPhone、不同类型的移动设备、JSON/XML REST API客户端等,主要取决于呈现层,而不是控制器/路由层。 因此,一个优雅的解决方案是:
有一些插件试图使这更容易:看看布伦达林的mobile fu和诺埃尔拉平的rails iui(都在github上)。阿尔索 Brendan Lim's presentation at Rails Underground 有一些想法。 你的目标应该是:
如果移动设备上的用户真的希望看到站点的桌面版本,您还应该允许他们覆盖用户代理检测。一个具有较长失效时间的cookie可能是最好的方法,这样当用户下次返回时,站点就记住了选择。一些移动设备有垃圾cookie支持,但是他们可能无论如何都不想要这个网站的桌面版本,因为它可能不起作用。 |
2
9
Rails 4.1 包括 变体 一个伟大的新功能:
在您的情况下,只需在
|
3
1
实际上,iPhone可以很好地渲染没有任何特殊格式的网页。 然而,在我的Android手机上,浮动内容似乎被切断了,所以需要为手机定制一个视图。 要实现这一点,您需要创建不同的布局(例如mobile_application.html.erb),并在应用程序_控制器中添加以下内容:
其中mobile_浏览器是一组要与移动设备匹配的用户代理字符串。 我在这里写了一篇关于这个的博客: http://www.arctickiwi.com/blog/2-mobile-enable-your-ruby-on-rails-site-for-small-screens 干杯 |
4
0
首先,您应该使用.html.erb作为模板扩展名。
其次,您可以使用逻辑来检测基于用户代理的布局类型。(
注意,用户代理可以被伪造,但大多数人不会费心去伪造它,所以解决方案应该“足够好”,适用于99.9%的情况。 |
lea___x · 哈希导航在移动设备上不起作用 2 年前 |
lalofee · 移动菜单下拉菜单下推主要内容 6 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |
Blehi · 本地数据多次修改时的最佳同步策略 6 年前 |
jared-nelsen · 更改文本字段的大小和行为 6 年前 |