2012-05-06 26 views
4

我寫了一個Ruby腳本,我在其中使用Nokogiri。無法加載這樣的文件 - Nokogiri rails

對於Rails的我做了這個模塊中的lib/目錄:

require "net/http" 
require "uri" 
require 'nokogiri' 

Module gk_CT 

class CT 

    def getCT 
    uri = URI.parse("http://www.website.com") 
    CT = Net::HTTP.get_response(uri) 

    proc = Nokogiri::HTML(CT.body) 

    CTQ = Array.new 

    CTQ << proc.css('td') 

    end 

end 

在控制器中,我有:

require 'gk_CT' 

    def show 
    @CT= gk_CT::CT.getCT() 
    respond_to do |format| 
     format.html # show.html.erb 
     format.json { render json: @CT} 
    end 
    end 

它總是給我的錯誤:

cannot load such file -- nokogiri 

和我不知道爲什麼。

+4

在哪一行和哪個文件中引發錯誤?如果是CT,可能是因爲nokogiri從你身上遺漏了'Gemfile' –

回答

5

如果腳本是實際Rails項目的一部分,那麼您需要將Nokogiri添加到Gemfile中(使用行gem 'nokogiri')。如果你不在Rails項目中,或者沒有使用Bundler或者其他奇怪的東西,你仍然需要安裝gem(gem install nokogiri)。

+0

我假設你只需要這樣做,如果你在安裝gem之前創建了這個項目? –

+0

@JeffAxelrod不確定你在問什麼,但我認爲你仍然需要在Gemfile中包含一個gem來使用它,即使它已經安裝。 – MrTheWalrus

+0

在Rails中創建項目時,它不會自動將所有已安裝的gem添加到Gemfile中? –

相關問題