2011-09-23 34 views
8

Tôi đã tạo một gem với một thư mục vendor chứa stylesheet và javascripts từ bootstrap-sass và bootstrap.Lấy các tập tin của nhà cung cấp Gem trong đường dẫn đường ống tài sản

Cấu trúc thư mục là bootstrap-sass-đá quý/vendor/tài sản/Javascripts

bootstrap-sass-đá quý/vendor/tài sản/stylesheets

Tôi đã yêu cầu đá quý trong một dự án thử nghiệm nhưng bất cứ khi nào tôi cố gắng yêu cầu thứ gì đó từ đá quý đó, tôi nhận được lỗi Sprockets::FileNotFound.

Ví dụ: trong application.css tôi đã thêm *= require bootstrap. bootstrap được đặt tại bootstrap-sass-gem/vendor/assets/stylesheets/bootstrap.scss và do đó, tính toán của tôi sẽ được bao gồm trong đường dẫn nội dung.

Tôi đang chạy RVM Ruby 1.9.2 và Rails 3.1.

Dưới đây là tập tin cấu hình của tôi:

$:.push File.expand_path("../lib", __FILE__) 

# Maintain your gem's version: 
require "bootstrap-sass-gem/version" 

# Describe your gem and declare its dependencies: 
Gem::Specification.new do |s| 
    s.name  = "bootstrap-sass-gem" 
    s.version  = BootstrapSassGem::VERSION 
    s.authors  = ["James Smith"] 
    s.email  = ["[email protected]"] 
    s.homepage = "http://www.smithware.co.uk" 
    s.summary  = "The Bootstrap-sass project Gemified" 
    s.description = "Description of BootstrapSassGem." 

    s.files = Dir["{lib,vendor,rdoc}/**/*"] + Dir["*"] 
    #s.test_files = Dir["test/**/*"] 

    s.require_paths = ["lib/**/*"] 

    # We are dependent on the asset pipeline in 3.1.0 
    s.add_dependency "rails", "~> 3.1.0" 

    # s.add_development_dependency "" 
end 
+0

Có thể câu hỏi tôi thực sự muốn hỏi ở đây là: Làm cách nào để tự động đưa các tệp đá quý của tôi vào đường dẫn nội dung? –

+0

Ngay cả sau khi thêm thủ công đường dẫn kiểu dáng Gems vào đường dẫn, tệp bootstrap.scss không tìm thấy. –

Trả lời

0

tôi nghĩ rằng các đường ống dẫn tài sản hy vọng tập tin của bạn được đặt tên như bootstrap.css.scss. và tôi không chắc chắn, nhưng có thể bạn cần phải xác định một railtie cho đá quý của bạn cho đường ray để tìm các stylesheets vendored

+0

Rời khỏi .css hoạt động tốt cho tôi ở những nơi khác. Tôi đã có một tập tin engine.rb tại chỗ được gọi trong tập tin bootstrap-sass-gem.rb. Sẽ thử cách đường sắt. Chỉ sử dụng cách động cơ khi họ sử dụng nó trong đá quý jQuery-ray. –

+0

động cơ nên được sử dụng tốt, đó là một phân lớp của railtie. vấn đề nên nằm ở một nơi khác sau đó –

+0

Thật không may đã không có may mắn với điều này trong 3 ngày nay. Rails hướng dẫn nói để xem đá quý jquery-rails nhưng ngay cả khi sử dụng như là một mẫu không giúp đỡ. Tôi nghi ngờ bạn đang phải nói rằng vấn đề nằm ở nơi khác như thậm chí tự thêm đường dẫn đến các bảng kiểu dáng Gems không giúp đỡ. –

1

Vấn đề là với biến require_paths của tôi. Các thiết lập đúng cần phải có được:

s.require_paths = ["lib"] 
1

tôi đã cùng một vấn đề, tôi giải quyết nó thêm một cơ dummy. Bằng cách này trong đường ray 3.1 đường dẫn tài sản được thêm tự động vào Rails.application.config.assets.paths.

Kể từ Rails 3.0, nếu bạn muốn có một viên ngọc để tự động hoạt động như một động cơ , bạn phải chỉ định một Engine cho nó ở đâu đó bên trong thư mục lib Plugin của bạn.

+2

Điều này có nghĩa là gì? Bạn đã thêm mã ở đâu? – Will

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