0

我觉得这个问题有点古怪,需要更多的眼睛。我正在制作一个超级简单的gem,它使需要这个 gem 的 Rails 应用程序可以使用backbone.eventbinder.js 文件。

问题是当我添加gem 'backbone_eventbinder_rails', path: '/path/to/repo'到我的应用程序的 Gemfile 时,我可以在http://localhost:3000/assets/backbone.eventbinder.js. 当我使用 时gem 'backbone_eventbinder_rails', '1.0.2.2',我看不到资产。我得到一个No route matches [GET] "/assets/backbone.eventbinder.js错误。

有任何想法吗?

4

1 回答 1

0

看起来 gem 没有获取供应商文件。

我会改变:

s.files = Dir["{app,config,db,lib}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.md"]
s.test_files = Dir["test/**/*"]

至:

s.files         = `git ls-files`.split($/)
s.executables   = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
s.test_files    = s.files.grep(%r{^(test|spec|features)/})
s.require_paths = ["lib"]

否则,我认为这与以下内容有关:

module BackboneEventbinderRails
  class Engine < ::Rails::Engine
  end
end

改为:

class BackboneEventbinderRails::Engine < ::Rails::Engine
end

在版本 1.0.2.2

为什么将引擎移动到单独的文件中?由于 gem 只使 javascript 可用,我不会为 lib 烦恼。

于 2012-12-18T20:45:33.607 回答