NoMethodError в рельсах - PullRequest
       16

NoMethodError в рельсах

1 голос
/ 18 июня 2010

Извлеченный источник ниже:

Показывает /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

Работало до установки Sunspot: поисковая система Solr для Ruby .

Я работаю в Ubuntu 10.04.

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Я бы хотел увидеть полную трассировку стека, чтобы быть уверенным, но на самом деле это, вероятно, бесполезное сообщение об ошибке соединения HTTP, всплывающее из RSolr (библиотека, которую Sunspot использует для низкоуровневого соединения Solr).Работает ли Solr (то есть, вы запускали rake sunspot:solr:start)?Можете ли вы получить доступ к http://localhost:8982/solr/admin?

0 голосов
/ 18 июня 2010

Вероятно, происходит то, что вы пытаетесь выполнить подстановку для некоторой переменной, которую, как вы думали, инициализировали, но не смогли дать реальное значение.

Например, если у вас была форма, где дляСообщение и одно из свойств, которые вы хотите, это содержимое, вы обычно извлекаете эту информацию в контроллере с помощью

params[:message][:content]

И если вы хотите отфильтровать ее, вы бы сделали что-то вроде

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

Но если пользователь ничего не вводил в поле содержимого, переменная params[:message][:content] не будет установлена.Поэтому он нулевой, и вы пытаетесь сделать nil.gsub

...