2010-06-18 45 views
1

提取的源代碼如下:NoMethodError在軌

顯示/usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/templates/rescues/diagnostics.erb在行#提出:

private method `gsub' called for #<NoMethodError: undefined method `closed?' for nil:NilClass> 

Extracted source (around line #): 

RAILS_ROOT: /home/sharath/Desktop/RORWorkspace/ITPLOW1 

它安裝太陽黑子前的工作:一個Solr的供電搜索引擎爲Ruby

我在Ubuntu 10.04中工作。

回答

1

我需要看到完整的stacktrace是肯定的,但這實際上可能是一個無用的HTTP連接錯誤消息冒泡出RSolr(圖書館太陽黑子用於低級Solr連接)。 Solr是否正在運行(即,您是否運行了rake sunspot:solr:start)?你能訪問http://localhost:8982/solr/admin嗎?

+0

謝謝你..現在工作後,運行太陽黑子... 我是新來的,所以我沒有知道你必須運行搜索引擎 – sharath 2010-06-18 13:50:42

0

可能發生的情況是,您試圖對您認爲正在初始化的某個變量進行替換,但忽略提供實際價值。

舉例來說,如果你有一個形式,其中的一條消息,你想要的屬性之一是內容,你通常會檢索控制器的信息與

params[:message][:content] 

如果你想過濾它,你會做這樣的事情

params[:message][:content].gsub(/<[^>]*>/,"") 

但是如果用戶沒有輸入任何內容到內容領域,params[:message][:content]變量將不會被設置。因此,它是空的,你試圖做nil.gsub

+0

錯誤的例子。如果用戶沒有輸入任何內容字段,那麼params [:message] [:content] =''(&not null作爲mentio以上) – Salil 2010-06-18 10:23:58

+0

即使我填寫的內容我得到相同的錯誤 – sharath 2010-06-18 10:59:01