10

Nhiều plugin jQuery có cấu trúc thư mục sau:Có một "Rails Way" bao gồm một plugin jQuery trong đường ống tài sản không?

/<plugin name> 
../css 
../images 
../js 

Các tệp CSS thường có mối liên hệ tương đối so với hình ảnh trong đó. Những gì tôi muốn làm là bao gồm các plugin này trong Rails Way theo Đường ống tài sản và hy vọng rằng không liên quan đến việc phải đổi tên tệp tham chiếu để xóa các liên kết tương đối. Có một cách Rails như vậy?

Cũng có thể là quá mức cần thiết để bao gồm plugin jQuery đã được rút gọn trong đường ống tài sản?

+0

Điều gì về việc sử dụng '' // = require_tree ./ [plugin_name] '' để yêu cầu tất cả thư mục có plugin? – freemanoid

Trả lời

2

Bạn nên cố gắng thêm nội dung của mình vào đường dẫn tải theo cách được đề xuất, theo như tôi biết. Nếu ứng dụng bạn đang chạy có tài sản-đường ống được kích hoạt, nó sẽ tìm thấy tài sản của bạn sau khi mở rộng đường dẫn trong application.rb bạn

Không shure, nếu đây là những gì bạn yêu cầu nhưng nếu không, bạn nên kiểm tra: http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

hãy nhớ khởi động lại máy chủ của bạn

1

Tôi nghĩ lý do bạn chưa nhận được câu trả lời là vì không rõ bạn đang hỏi gì. Bạn có hỏi liệu có quá mức cần thiết để đặt các plugin của mình trong đường dẫn nội dung không? Bạn có hỏi liệu bạn có phải đổi tên tham chiếu tệp không?

Tôi luôn đặt tất cả các plugin jquery vào đường dẫn nội dung của mình. Overkill hay không, có tất cả ở một nơi và họ chỉ được biên soạn một lần vì vậy ngay cả khi biên dịch chúng mất nhiều thời gian hơn, nó không ảnh hưởng đến ứng dụng của tôi.

+0

Các plugin này thường có cấu trúc thư mục riêng. Bạn có bảo tồn điều đó, hay bạn chuyển CSS vào thư mục/stylesheets, các hình ảnh vào thư mục/images, vv? – AKWF

+0

Đó là phần tôi đang bối rối. Bởi vì nếu tôi bảo vệ cấu trúc thư mục của plugin, trong đó thư mục con của/nội dung đường dẫn nào tôi đặt nó? – AKWF

+0

Cá nhân tôi di chuyển css vào thư mục/stylesheets và hình ảnh vào thư mục/images và sau đó tôi thay đổi đường dẫn nếu cần. Bạn có thể đi sâu vào file css và tìm kiếm trên "url" và sau đó bạn sẽ bắt được tất cả các đường dẫn hình ảnh. – Catfish

2

tôi đã cùng một vấn đề và cũng đã cố gắng để tìm "con đường Rails" để làm điều này. Và đây là những gì tôi đã kết thúc với vào cuối ngày:

Như Rob đã đề cập:

vendor/tài sản là đối với tài sản được sở hữu bởi các đối tượng bên ngoài, chẳng hạn như mã cho JavaScript các plugin và khung công tác CSS.

Nguồn: 2.1 Asset Organization

Hãy lấy một ví dụ thực tế: sử dụng jquery_datepicker đá quý (Lưu ý: chúng tôi phải sử dụng một cách giải quyết vì vấn đề này: bundle pack does not work with git sources).

1) Cài đặt đá quý (khá straighforward):

cd vendor/gems 
git clone https://github.com/albertopq/jquery_datepicker.git 

2) Thêm phần này vào Gemfile bạn

gem 'jquery_datepicker', :path => 'vendor/gems/jquery_datepicker' 

3) Cài đặt một chủ đề jquery-ui

  • Từ ThemeRoller chọn chủ đề, chọn Datepicker và Slider và phiên bản jQUery
  • Tải và trích xuất nội dung của gói
  • CSS/hình ảnh từ thư mục css/theme-name di chuyển chúng:
    • jquery-ui-1.8.xx.custom.css để app/vendor/stylesheets/
    • các images thư mục để app/vendor/images/ (có, di chuyển toàn bộ thư mục images để bạn kết thúc với một cái gì đó như thế này app/vendor/images/images/ui-icons_256x240.png
  • i18n từ thư mục development-bundle/ui/i18n (tùy chọn) chuyển chúng đến:
    • Tạo một thư mục i18n dưới app/vendor/javascripts/
    • di chuyển jquery.ui.datepicker-xx.js vào thư mục này app/vendor/javascripts/i18n/
    • chắc chắn rằng thư mục i18n được nạp để đưa vào application.js
//= require_directory ./i18n

vendor/assets được nạp tự động AFAIK nên bạn không phải bao gồm đường dẫn trong đường dẫn nội dung.

Tôi muốn xem những người khác đang tiếp cận điều này như thế nào, đó là một câu hỏi rất hay.

Các vấn đề liên quan