我想让我的rails应用程序适合移动设备。在某些方面,但我使用的是检查用户代理并传递参数" is_mobile"在一个网址中,并提供不同文件夹中的视图 - 我没有为手机设置不同的mime类型,我只是使用不同的视图文件夹而且我很好。
在我的ApplicationController
中,如果请求来自移动设备,我会致电prepend_view_path
。
我想知道,如何处理资产:图片,js,css?我是否还应为资产创建一个新的移动文件夹 - " my_assets_for_mobile"并将它添加到路径?类似于:prepend_assets_path(....)if mobile_request?或者是什么?
答案 0 :(得分:1)
是的,你可以。第一步是了解设备是否请求了移动版本。
第二步是:(在application.html.erb
布局中)
<% if mobile? %>
<%= stylesheet_link_tag 'application-mobile', media: 'all' %>
<% else %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<% end %>
然后你只需要在资产文件夹中制作application-mobile.css
清单(复制并修改application.css
在application-mobile.css
中,您可以定义为移动设备加载哪些资产,哪些资产与application.css
以及其他类似内容共享
答案 1 :(得分:0)
您可以使用Webpack来实现此目标,这是一个非常好的资产管理工具。您还可以创建要在页面上加载的页面特定资产。您可以根据需要决定为页面加载哪些资产,例如移动友好资产或其他人。