gpt4 book ai didi

javascript - ruby gem : Get files in asset pipeline

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:55 26 4
gpt4 key购买 nike

我开发了一个插件 (jQuery),我真的很想把它做成一个 gem。为了使 gem 正常工作,我需要将三个文件放在 Rails 的 Assets 管道中:一个图像、一个 javascript 文件和一个 css 文件。

此刻我已经让 gem 工作了,但是!我无法获取 Assets 管道中的文件。如果我像这样包括它们:

//= require gem.js

或者

//= require gem.css

它可以工作,但是文件没有显示在 Assets 管道中,虽然我可以使用 css 和 js 文件来完成这项工作,但我无法让图像工作。

因此,我真的希望文件显示在 Assets 管道中(或者至少是图像,这是让插件更加一目了然所必需的)。在这一刻我做了我能想到的一切,但它不起作用..

这是我的 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

确保将您的 Assets 包含在您的 gem vendor/assets/javascriptsvendor/assets/stylesheets 中的这些文件夹中。

看看我的一个简单的 Gems 以供引用:https://github.com/wazery/vider

关于javascript - ruby gem : Get files in asset pipeline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com