[英]Ruby Gem: Get files in asset pipeline
我开发了一个插件(jQuery),我真的想把它变成一个宝石。 为了使gem工作,我需要三个文件在Rails的资产管道中:一个图像,一个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
希望你们能帮助我! 谢谢!
尝试这个:
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
确保将您的资产包含在gem vendor/assets/javascripts
和vendor/assets/stylesheets
中的这些文件夹中。
看看我的一个简单的宝石参考: https : //github.com/wazery/vider
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.