4

在我的 Gemfile 中,我有:

gem 'addressable'

在 search_controller.rb 中:

uri = Addressable::URI.new
uri.query_values = {:q => query}

我收到此错误:

NameError (uninitialized constant SearchController::Addressable):

如果我把

require 'addressable/uri'

在我的控制器之上,它工作!我已经完成了“sudo bundle install”,它显示已安装可寻址。我究竟做错了什么?

4

1 回答 1

8

查看可寻址的 gem 源,我发现它没有lib/addressable.rb哪个是 ruby​​gems 或 bundler 在加载所需的 gem 时需要的默认文件。所以看起来它是故意这样设计的——让你明确地只需要你需要的库。

于 2012-09-19T14:55:50.770 回答