ruby-on-rails - Rails 不从 Gemfile 加载 actionform gem

标签 ruby-on-rails gem rubygems bundler

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

在我的 Gemfile 中,

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

Bundler 将它们安装在不同的位置: $ bundle 显示 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 不同的位置是正常的。与此问题无关。

关于ruby-on-rails - Rails 不从 Gemfile 加载 actionform gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28709575/

相关文章:

ruby-on-rails - 如何将多个参数作为数组传递给 ruby​​ 方法?

ruby-on-rails - Rails : migrating production database, 需要为每个现有用户创建新数据

列值的 SQL 总和,每个用户每天唯一

ruby-on-rails - 具有 100% 宽度的 rails css 罗盘网格?

ruby - 在 Windows 上安装 Thin 失败

ruby-on-rails - rubymine 错误 - 无法在任何来源中找到 capybara-webkit-0.9.0

ruby-on-rails - 经审计的 gem : switch between current_user and current_admin

使用 MySQL 5.6 在 CentOS 6.4 x64 上安装 mysql2 gem 失败

ruby-on-rails - 安装 rails `$ gem install rails` 时出错

ruby - Emacs + OSX 中的 Bash 找不到通过 terminal.app 安装的 gems?