В 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
Что интересно, когда я ищу только одну букву, меня перенаправляет на страницу поиска, но у меня нет внутренней ошибки.
Я новичок в разработке Redmine и Ruby, мне просто поручили исправить эту ошибку. Кто-нибудь из вас знает, как это исправить?
Спасибо.
@scope
? Что такое@tokens
? Что такоеs.singularize.camelcase.constantize
? Что такоеprojects_to_search
? Попробуйте воспроизвести ошибку самым простым способом. - person Tom Lord   schedule 26.05.2016