2016-05-26 17 views
0

Auf der Redmine meiner Firma gibt es diesen Fehler, bei dem ich einen internen Fehler bekomme, wenn ich in ein Projekt suchen möchte."keine implizite Umwandlung von Nil in String" im Suchmodul von Redmine

Hier wird das Protokoll zu dem Fehler entsprechen:

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' 

Die Linien in der Steuerung zu dem Fehler entsprechen, sind:

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 

:

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 

Hier ist meine config Interessant ist, dass wenn ich nur einen Buchstaben suche, ich auf die Suchseite weitergeleitet werde, aber ich nicht habe einen internen Fehler.

Ich bin sehr neu zu Redmine Entwicklung und Ruby, ich wurde nur zugewiesen, um zu versuchen, diesen Fehler zu beheben. Hat jemand von euch eine Idee, wie man es reparieren kann?

Danke.

+1

Bitte verwenden Sie englische Satzzeichen, wenn Sie auf Englisch schreiben. – sawa

+0

Haben Sie überprüft, was in @scope ist? –

+0

Was ist '@ scope'? Was sind '@ Token'? Was ist "s.sularize.camelcase.constantise"? Was ist 'projects_to_search'? Versuchen Sie, den Fehler auf die einfachste Weise neu zu erstellen. –

Antwort

0

Es ist wirklich merkwürdig. Wir verwenden 'Redmine' -2.0.3.1 und wir haben dieses Verhalten nicht. Es scheint, dass "jemand" das mit der Sucheingabe verknüpfte Formular durcheinander gebracht hat. Versuchen Sie, diesen Daten zu folgen, wenn Sie die Eingabetaste drücken, bis Sie mit dem Fehlercode 500 antworten.

Wenn Sie können, ändern Sie die Umgebung in Entwicklung, auf diese Weise werden Sie detailliertere Fehler anzeigen.

Aber ich kann dir nicht viel mehr helfen, du hast nicht genug Informationen über das Problem zur Verfügung gestellt.

1

ich das gleiche Problem hatte, konnte ich es beheben könnte durch meine Rubin & Version Schienen Herabstufung, ein Arbeitssatz ist:

  • Rails 3.2.19
  • Rubin 2.1.4p265

Es sieht aus, als wäre es wegen einer Bremsung in Ruby-2.3.0.