移动设备的单独资产文件夹?

时间:2016-09-13 09:11:55

标签: ruby-on-rails ruby mobile

我想让我的rails应用程序适合移动设备。在某些方面,但我使用的是检查用户代理并传递参数" is_mobile"在一个网址中,并提供不同文件夹中的视图 - 我没有为手机设置不同的mime类型,我只是使用不同的视图文件夹而且我很好。

在我的ApplicationController中,如果请求来自移动设备,我会致电prepend_view_path

我想知道,如何处理资产:图片,js,css?我是否还应为资产创建一个新的移动文件夹 - " my_assets_for_mobile"并将它添加到路径?类似于:prepend_assets_path(....)if mobile_request?或者是什么?

2 个答案:

答案 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来实现此目标,这是一个非常好的资产管理工具。您还可以创建要在页面上加载的页面特定资产。您可以根据需要决定为页面加载哪些资产,例如移动友好资产或其他人。