簡體   English   中英

Rails 3.1和jQuery mobile:在考慮資產管道的同時組織JS和CSS的最佳方式?

[英]Rails 3.1 and jQuery mobile: Best way to organize your JS & CSS while considering the asset pipeline?

我正在將我的Rails 3.1應用程序與jQuery mobile(Beta 2,目前)集成,我不確定如何組織我的JS和CSS。

我在我的application.mobile.erb的head標簽中有這個(從http://jquerymobile.com/download/復制):

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>

我應該把我的stylesheet_link_tag用於'應用程序',因此我的CSS樣式不會覆蓋jQuery mobile的花哨CSS嗎? “應用程序”的javascript_include_tag怎么樣?

或者所有這些都應該完全分開?

我只是不確定如何組織所有這些/如果有傳統的方法來做到這一點。 投入贊賞。

(如果您需要,請詢問更多詳情。)

編輯:*我也想知道在哪里放置我的移動專用JS和CSS ...

現在有一個jQuery Mobile Ruby gem ,它將在資產管道中為您提供jQuery Mobile文件。

安裝很簡單。 只需將gem添加到您的應用程序Gemfile

gem "jquery-mobile-rails"

並運行bundle install 然后,你可以添加

//= require jquery.mobile

到您的application.js或您想要包含文件的任何其他地方。

就像你一樣,我很困惑,弄清楚如何使用Rails 3.1的新資產管道來使用jQuery Mobile(現在是最終的1.0)。

首先,將jquery.mobile.js和jquery.mobile.css分別放入assets / javascripts和assets / stylesheets。

其次,在您的application.js清單中插入“require jquery.mobile”

//= require jquery
//= require jquery_ujs
//= require jquery.mobile

和你的application.css清單一樣:

*= require_self
*= require_tree .
*= require jquery.mobile

第三,將“application.js”和“application.css”放入布局application.html.erb中

<meta name="viewport" content="width=device-width, initial-scale=1">
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag    "application" %>
<%= csrf_meta_tags %>

第四,不要忘記添加'meta name ~~~'行以使其正常工作。

<meta content="width=device-width, minimum-scale=1, maximum-scale=1" name="viewport">

還要正確使用jQuery移動屬性,例如頁面中的“data-role =”page“'。 其他人建議使用像'jquery-mobile-rails'或類似的寶石,但我不會。

這是你決定要優先考慮的事情。 有些東西可能必須優先於其他東西,只是基於你調用的順序(如果在file2中調用函數,請確保定義該函數的file1包含在它之前)。

關於如何使用asset_pipeline進行此操作,您可以自己下載資產並將它們捆綁在application.css/application.js中,也可以按照適合您的順序將其保存在<head>中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM