2012-09-19 54 views
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」,並顯示可安裝的地址。我究竟做錯了什麼?

回答

7

尋找可尋址的寶石來源我看到它沒有lib/addressable.rb這是默認的文件,這是rubygems或bundler在加載所需的寶石時需要的默認文件。所以它看起來像是故意設計的 - 讓你明確地只需要你需要的庫。

+0

+1 Addressable :: URI的正確'require'語句是'require'addressable/uri''。 –

+0

我寫了Addressable。 @khustochka是正確的,其目的是要求只需要圖書館的一部分。特別是,大多數人不需要模板功能。 –