На redmine моей компании есть эта ошибка, когда я получаю внутреннюю ошибку, если я хочу выполнить поиск в проекте.«Неявное преобразование nil в String» в модуле поиска Redmine
Вот журнал, соответствующий ошибке:
Processing by SearchController#index as HTML
Parameters: {"utf8"=>"✓", "issues"=>"1", "q"=>"test", "id"=>"sprint"}
Current user: me (id=60)
Completed 500 Internal Server Error in 85.0ms
TypeError (no implicit conversion of nil into String):
lib/plugins/acts_as_searchable/lib/acts_as_searchable.rb:126:in `search'
app/controllers/search_controller.rb:74:in `block in index'
app/controllers/search_controller.rb:73:in `each'
app/controllers/search_controller.rb:73:in `index'
линии, соответствующие ошибки в контроллере:
if [email protected]?
# no more than 5 tokens to search for
@tokens.slice! 5..-1 if @tokens.size > 5
@results = []
@results_by_type = Hash.new {|h,k| h[k] = 0}
limit = 10
@scope.each do |s|
r, c = s.singularize.camelcase.constantize.search(@tokens, projects_to_search,
:all_words => @all_words,
:titles_only => @titles_only,
:limit => (limit+1),
:offset => offset,
:before => params[:previous].nil?)
@results += r
Вот мой конфиг:
Environment:
Redmine version 2.6.9.stable
Ruby version 2.3.0-p0 (2015-12-25) [x86_64-linux]
Rails version 3.2.22
Environment production
Database adapter PostgreSQL
SCM:
Git 1.9.1
Filesystem
Redmine plugins:
no plugin installed
Интересно, что, когда я ищу только одну букву, я перенаправлен на страницу поиска, но я не h ave внутренняя ошибка.
Я очень новичок в разработке Redmine и Ruby, мне просто поручили исправить эту ошибку. У кого-нибудь из вас есть идея, как его исправить?
Спасибо.
Пожалуйста, используйте английскую пунктуацию, когда вы пишете на английском языке. – sawa
Вы проверили, что находится в @scope? –
Что такое '@ scope'? Что такое '@ tokens'? Что такое 's.singularize.camelcase.constantize'? Что такое 'projects_to_search'? Попытайтесь воссоздать ошибку самым простым способом. –