4

本当に宝石にしたいプラグイン( jQuery )を開発しました。gem が機能するには、Rails のアセット パイプラインに 3 つのファイル (画像、JavaScript ファイル、および css ファイル) が必要です。

現時点では、宝石が機能していますが、! アセット パイプラインでファイルを取得できません。次のようにそれらを含めると:

//= require gem.js

または

//= require gem.css

動作しますが、アセット パイプラインにファイルが表示されず、css および js ファイルを使用してこれを機能させることはできますが、画像に対してこれを機能させることはできません。

これにより、ファイルがアセット パイプライン (または少なくとも、プラグインに余分な外観を与えるために必要な画像) に表示されるようにしたいと考えています。この瞬間、考えられることはすべてやったのですが、うまくいきません..

これは私のgemspecです:

# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require "yellow-text-rails/version"

Gem::Specification.new do |gem|
    # Gem information
    gem.name          = "yellow-text-rails"
    gem.version       = YellowText::Rails::VERSION
    gem.authors       = ["Stefan Vermaas"]

    # Project name
    gem.rubyforge_project = "yellow-text-rails" 

    gem.files         = `git ls-files`.split("\n")
    gem.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
    gem.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
    gem.require_paths = ["lib"]
end

これを「lib/yellow-text-rails/yellow-text-rails.rb」に含めました:

require "yellow-text-rails/version"

module YellowText
    module Rails
        if defined?(::Rails) and ::Rails.version >= "3.1"
                class Rails::Engine < ::Rails::Engine
            end
        end
    end
end

うまくいけば、皆さんが私を助けてくれます! ありがとう!

4

1 に答える 1

0

これを試して:

module YellowText
  module Rails
    class Engine < ::Rails::Engine
      initializer :append_dependent_assets_path, group: :all do |app|
        app.config.assets.precompile += %w( gem.js gem.css )
      end
    end
  end
end

vendor/assets/javascriptsgemおよびのこれらのフォルダーにアセットを含めるようにしてくださいvendor/assets/stylesheets

参照用に私のシンプルな Gem の 1 つを見てください: https://github.com/wazery/vider

于 2015-04-17T00:36:48.023 に答える