Rails 不从 Gemfile 加载 actionform gem

Rails doesn't load actionform gem from Gemfile

我的 Rails 4.2 应用无法加载某些 GitHub 托管的 gem(通过捆绑器 v1.8.2 安装)。我正在使用 rvm 1.26.10 (master)

在我的 Gemfile,

gem 'simple_form', '~> 3.1.0' gem 'actionform', :github => 'rails/actionform'

Bundler 将它们安装在不同的位置: $ bundle show simple_form /Users/me/.rvm/gems/ruby-2.1.5@my_app/gems/simple_form-3.1.0

$ bundle show actionform /Users/me/.rvm/gems/ruby-2.1.5@my_app/bundler/gems/actionform-4a858fecf4c2

Rails 从不加载 actionform gem。 将行 //= require action_form 插入到我的 app/assets/javascript/application.js 文件后,出现此错误

Sprockets::FileNotFound at / couldn't find file 'action_form' However, the action_form.js file exists in the gem file.

此外,当我尝试重现自述文件示例时,出现了这个错误

NameError at /conferences/new uninitialized constant ActionForm

require 'bundler/setup'boot.rb

关于这个问题有什么建议吗?

谢谢!

问题是 gem 名称与 gem 中的文件不匹配。因为 gem 被命名为 'actionform',Bundler 将尝试 require 'actionform',但是文件实际上被称为 action_form.

您可以使用以下语法告诉 Bundler 正确的文件名:

gem 'actionform', :github => 'rails/actionform', :require => 'action_form'

请注意,来自 git 源的 gem 与从 gem 服务器安装的 gem 安装到不同的位置是正常的。与此问题无关。