2016-11-20 3 views
0

Aktualisiert OS zu El Capitan und dann zu Sierra. Wenn Sie jetzt an einem alten Ruby on Rails-Projekt arbeiten, können alle plötzlichen Rails die Daten aus relevanten Tabellen nicht abrufen.Ruby on Rails MySQL-Probleme auf Sierra/El Capitan Mac

Ich habe Homebrew, mysql, rails, ruby ​​neu installiert, und xcode wird mit CLI aktualisiert.

Ich habe die alte Datenbank gesichert, die vorher arbeitete und wieder in eine brandneue Installation von mysql importiert. Rails loggt sich korrekt in das Projekt ein (was vorher nicht der Fall war), aber danach schlägt das Abrufen der Indexseiten mit dem Problem "Neuordnen" für die Klasse nil fehl.

Started GET "/admin/buildings" for 127.0.0.1 at 2016-11-20 08:36:21 -0500 
Processing by Admin::BuildingsController#index as HTML 
    AdminUser Load (0.3ms) SELECT `admin_users`.* FROM `admin_users` WHERE `admin_users`.`id` = 2 LIMIT 1 
    Rendered /Users/mh/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activeadmin-0.6.2/app/views/active_admin/resource/index.html.arb (25.5ms) 
Completed 500 Internal Server Error in 38.0ms 

ActionView::Template::Error (undefined method `reorder' for nil:NilClass): 
    1: insert_tag renderer_for(:index) 

Gebräu Version Homebrew 1.1.1 Homebrew/homebrew-core (git revision 421e; last commit 2016-11-20)

Rubin Version (via rbenv) ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

Schienen Version Rails 3.2.22.5

mysql Version Server version: 5.7.16 Homebrew

Hoffentlich kein Duplikat (Ich habe searche d), aber entschuldigt, wenn es ist.

EDIT: notiert, dass rbenv ruby ​​und rails nicht zuletzt für diesen bestimmten Ordner gesetzt hat, obwohl rbenv global verwendet wurde. Aktualisierung auf die neueste Version und wird später aktualisiert.

+0

Update auf den letzten Ruby (und Rails in Gemfile) hat nicht geholfen und verursacht noch mehr Probleme. Rolling Ruby zurück zu 2.2 hat auch nicht geholfen, Gerollt zurück zu 2.1.2 und Rails 3.2 und jetzt kann ich die Indexseiten sehen. Werde später versuchen, zu Debug-Problemen zu aktualisieren. – user6450370

Antwort

0

Ich bin mir nicht sicher, wie Ihr Betriebssystemupdate dies beeinflussen würde, aber andere Leute haben den undefined method 'reorder' Fehler bei der Verwendung des ActiveAdmin Gems erlebt. Insbesondere scheint es zu passieren, wenn eine Instanzvariable an einen Controller übergeben wird, wo bereits eine Instanzvariable desselben Namens existiert.

Zum Beispiel könnten Sie einen Filter in application_controller.rb definieren, der alle Posts abruft, sie in einer Variablen mit dem Namen @posts speichert und sie an die Indexroute in posts_controller weiterleitet. ActiveAdmin hat bereits eine solche Variable erstellt und gefüllt, und die Variablen sind widersprüchlich. In diesem Szenario sollten Sie die Instanzvariable umbenennen, die im Filter deklariert ist.

Eine Sache, die ich festgestellt habe, dass Ihr Problem einzigartig ist, ist die Nil: NilClass. Die meisten anderen Leute, die auf den undefined method 'reorder' Fehler stoßen, erhalten es für ein Array.

Ich hoffe, das war zumindest etwas hilfreich!

+0

Ich habe die Null nicht verstanden: NilClass entweder, die Daten sind da, ich kann es in der MySQL-Tabelle sehen ... und ActiveAdmin meldet sich in der gleichen Datenbank korrekt an, es holt nur die Daten, die kaputt sind. Das Ganze funktionierte vor El Capitan und Sierra Update. – user6450370