【发布时间】:2012-09-02 03:50:22
【问题描述】:
我的主目录中的同一个父级下有两个具有相同环境的 rails 项目。两者都使用 authorize-net (1.5.2) gem。我在 Mac OS X 10.8.1 上使用 ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-darwin11.4.0]、Rails 2.3.14 和 rvm 1.14.3。两者的 config/environment.rb 中都有 config.gem 'authorize-net', :lib => 'authorize_net,它们的相关控制器顶部都有 helper :authorize_net,它们的 application_controller.rb 顶部都有 helper :all。然而一个工作正常,另一个得到MissingSourceFile (Missing helper file helpers/authorize_net_helper.rb) 错误。帮助文件实际上位于~/.rvm/gems/ruby-1.8.7-p358@global/gems/authorize-net-1.5.2/lib/app/helpers/authorize_net_helper.rb
我终其一生都无法弄清楚为什么一个有效而另一个无效。谁能指出我正确的方向?在每种情况下,我如何才能确定 Rails 使用什么路径来查找此帮助程序?
【问题讨论】:
-
您使用的是 rvm gemsets 吗?如果每个应用程序都有自己的 gemset,则需要在每个应用程序中安装 gems
-
我不相信我以任何方式使用 gemsets。两个项目的基本目录中都没有 .rvmrc。 gem 在@global 中,我的 GEM_PATH 是
/Users/russ/.rvm/gems/ruby-1.8.7-p358:/Users/russ/.rvm/gems/ruby-1.8.7-p358@global。 gem 只出现在@global 目录中。
标签: ruby-on-rails helpers authorize.net