【发布时间】:2016-03-02 04:42:53
【问题描述】:
我有一个我经常在我的网站上使用的主题。我一直在尝试通过 gem 加载 css、js 和插件文件夹(包含在主题中)资产。
Sprockets::FileNotFound: couldn't find file 'phcthemes' with type 'application/javascript'
如果我取出 javascript(仅限 css),它不会执行并在编译的资产中完全像这样显示
*= phcthemes
我的想法应用程序无法识别 gem,我尝试使用isolate_namespace(现在已注释掉)还使用以下答案中的信息尝试了几种不同的配置,但无济于事。
主应用 application.css
*= phcthemes
主应用 application.js
// require phcthemes
lib/phcthemers.rb
require "phcthemes/version"
module Phcthemes
class MyRailtie < Rails::Railtie
end
class Engine < ::Rails::Engine
# Isolate Namespace
#isolate_namespace Phcthemes
# Initialize Assets
initializer :assets do |config|
Rails.application.config.assets.precompile += %w{ application.js application.css }
Rails.application.config.assets.paths << root.join("app", "assets", "javascripts")
Rails.application.config.assets.paths << root.join("app", "assets", "stylesheets")
end
end
end
phcthemes.gemspec
$:.push File.expand_path("../lib", __FILE__)
# Maintain your gem's version:
require "phcthemes/version"
Gem::Specification.new do |spec|
spec.name = "phcthemes"
spec.version = Phcthemes::VERSION
spec.authors = ["BradPotts"]
spec.email = ["bradley.j.potts@gmail.com"]
spec.homepage = "http://phcnetworks.net"
spec.summary = "PHCThemes"
spec.description = "PHCNetworks theme with mtdevise and assets built in."
spec.license = "GPL-3.0"
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.files = Dir["{app,config,db,lib}/**/*", "LICENSE", "Rakefile", "README.md"]
# Main Structure & Security
spec.add_dependency "rails", "~> 4.2.5.2"
# Development & Testing
spec.add_development_dependency "sqlite3"
spec.add_development_dependency "bundler", "~> 1.11"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "rspec", "~> 3.0"
end
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rubygems asset-pipeline