Получить файлы поставщиков Gem в пути конвейера активов - PullRequest
8 голосов
/ 23 сентября 2011

Я создал гем с каталогом поставщиков, содержащим таблицы стилей и javascripts из bootstrap-sass и сам загрузчик.

Структура каталогов самозагрузки-дерзость-камень / поставщик / активы / JavaScripts

и

самозагрузка-SASS-гем / поставщик / активы / таблицы стилей

Мне требовался драгоценный камень в тестовом проекте, но всякий раз, когда я пытаюсь что-то потребовать от этого драгоценного камня, я получаю ошибку Sprockets::FileNotFound.

Например, в application.css я добавил *= require bootstrap. Начальная загрузка находится в bootstrap-sass-gem/vendor/assets/stylesheets/bootstrap.scss, и поэтому, по моим расчетам, должна быть включена в конвейер активов.

Я использую RVM Ruby 1.9.2 и Rails 3.1.

Вот мой конфигурационный файл:

 $:.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       = ["James@smithware.co.uk"]
    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

Ответы [ 3 ]

1 голос
/ 26 сентября 2011

Проблема была с моей переменной require_paths.Правильная настройка должна была быть:

s.require_paths = ["lib"]
1 голос
/ 29 ноября 2011

У меня была такая же проблема, я решил ее, добавив фиктивный двигатель.Таким образом, в rails 3.1 путь ресурсов был автоматически добавлен в Rails.application.config.assets.paths.

Начиная с Rails 3.0, если вы хотите, чтобы гем автоматически работал как движок, вы должныукажите движок для него где-нибудь внутри папки lib вашего плагина.

0 голосов
/ 24 сентября 2011

Я думаю, что конвейер ресурсов ожидает, что ваши файлы будут именоваться как bootstrap.css.scss.и я не уверен, но, возможно, вам нужно определить railtie для вашего драгоценного камня для rails, чтобы найти фирменные таблицы стилей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...