【问题标题】:Rails - Include different assets for mobile and desktop for an AngularJS app?Rails - 为 AngularJS 应用程序包含不同的移动和桌面资产?
【发布时间】:2014-06-19 18:20:12
【问题描述】:

如何通过 Rails API 为专为手机设计的 AngularJS 视图和为桌面设计的 AngularJS 视图包含一组不同的资产(CSS 和 JavaScript)?默认模板(application.html.erb 或 index.html)通常只会在初始请求中加载一次,因为它是一个 AngularJS 应用程序,所以我认为 Rails 应用程序的通常桌面与移动解决方案不会起作用。

具体来说,我正在尝试将使用 AngularJS、Bootstrap 和 jQuery 的桌面应用程序与使用 AngularJS 和 Ionic 的移动应用程序结合起来。这两个应用程序将大部分共享代码,除了视图。观点会非常不同,因此响应式方法是不够的。我根本找不到太多关于这方面的指导。任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails angularjs twitter-bootstrap ionic-framework


    【解决方案1】:

    Rails 4.1 提供variants,因此您可以根据显示类型拥有不同的视图模板。这是一个更彻底的example。它真的是最近的,所以关于它们的信息还不是很多。

    如果您不在 4.1 上,可以查看使用 Mobylette gem 来实现 same thing。然后,您还可以拥有一个包含不同资产的完全不同的 application.mobile.erb

    要在您包含的资产之间切换,您还可以查看此(辅助方法部分),但这并不能解决全面不同视图集的问题:

    Mobile style switching in Rails 3, helper method vs media queries

    【讨论】:

    • 感谢您对各种选项的详细描述。我认为我会使用移动样式切换的辅助方法。
    猜你喜欢
    • 2015-06-02
    • 2016-01-03
    • 2016-02-06
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多