1

情况如下:

我决定开始在 gem 中移动我在每个项目中重用的所有 js 代码,并在以下位置创建 gem:

/Users/alain/Dropbox/rails_app/alain_toolbox 

所以在我的项目中,为了测试一切是否正常,我将这一行添加到 gem 文件中:

gem 'alain_toolbox', '=0.0.1', path:'/Users/alain/Dropbox/rails_app/alain_toolbox

一切正常。

然后,我做一个

gem build alain_toolbox.gemspec 
gem push alain_toolbox-0.0.1.gem

一切似乎都有效。所以我将gemfile中的gem require 替换为:

gem 'alain_toolbox'

然后做一个捆绑包并成功安装gem。问题是当我打开应用程序时,我收到一个错误,它无法在该行中找到“alain_toolbox”

<%= javascript_include_tag "application" %>

和 application.js 看起来像这样:

//= require alain_toolbox

当我在当地时,它正在工作。

所以问题是:为什么?(!)

谢谢。

4

2 回答 2

1

发现错误:我不知道怎么做,但我忘了对资产文件执行“git add”。添加文件并重建 gem 后,一切都按预期工作。

于 2012-12-24T02:33:43.483 回答
0

Rails 指南表明gem 需要实现一个 rails 引擎。此外,资产仍需要位于 gem 中的指定目录之一(app/assets、lib/assets 或 vendor/assets)。我假设在本地情况下,您的宝石已经在该路径中。

根据这个 AsciiCast,您可以通过打印 Rails.application.config.assets.paths 配置在 rails 控制台中查看资产管道路径

相关问题:在资产管道路径中获取 Gem 供应商文件

于 2012-12-21T04:38:55.197 回答