2014-08-05 4 views
8

Manchmal habe ich Grund, die Rails-Konsole als irb repl statt hebeln zu wollen (so genial wie hektisch). Es wird standardmäßig gespreizt, weil sich der Gem in der Gemfile befindet. Wie geht es heute?Wie starte ich eine Rails-Konsole mit ausgeschaltetem Hebel?

Ich denke, es war eine Option --irb beim Ausführen rails console, aber das scheint jetzt weg zu sein. Wenn ich es versuche, erhalte ich eine Fehlermeldung über eine Vernachlässigung.

Mehr Details

Wenn ich nur „Schienen-Konsole“ führen Sie es bringt mich zu hebeln.

Wenn ich laufen "Schienen Konsole -irb = irb":

$ rails c -irb=irb                                           
--irb option is no longer supported. Invoke `/your/choice/of/ruby script/rails console` instead 

Relevent Linien von meinem Gemfile:

gem 'rails', '3.2.18' 
gem 'pry-rails' 
gem 'pry-plus' 
+0

Pry ist in einigen Aspekten genial, noch IRB bleibt stabiler/zuverlässig bei einigen Operationen (vor allem Copy-Paste) –

Antwort

1

Zum Wohle eines jeden, der in das gleiche Problem führt, ist dies mein (beschissener) Workaround.

Ich wickelte die hebeln Edelsteine ​​in Gemfile mit diesem:

... 
unless ENV['NOPRY'] 
    gem 'pry-rails' 
    gem 'pry-plus' 
end 
... 

Dann ist dieses vom Terminal Unix laufen:

NOPRY=true bundle install 
NOPRY=true rails console 

Nicht hübsch, aber bekommt den Job getan ...

5

Funktioniert in Rails 4: In Ihrer application.rb, in Ihrer Anwendung Klasse, lassen Sie diesen Welpen in.

# Use the IRB console instead of the Pry one 
console do 
    require 'irb' 
    config.console = IRB 
end 

Ich konnte die Pry Konsole nicht mehr nehmen. Es brachte meinen Cursor in unvorhersehbaren Zeiten an seltsame Stellen. Ich kann es nicht einmal beschreiben, aber wenn Sie wissen, wovon ich rede und die Lösung kenne, lassen Sie es mich wissen.

+0

Sieht elegent aus, war aber keine Option für mich, weil es ein war Schienen 3 app. Ich denke, so ist eine Rails 4-Sache.Dennoch wird Ihre Antwort anderen Leuten nützlich sein, die ich denke. –

+0

Danke, ich habe meinen Beitrag aktualisiert, um das zu reflektieren. –

14

Starten von Pry beim Aufruf rails console oder rails c wird von der pry-rails gem. Wenn Sie in den Pry-Schienen-Ausgaben there is one suchen, beschreibt das eine Lösung.

Definieren Sie die Umgebungsvariable DISABLE_PRY_RAILS als 1.

So können Sie Schienen Konsole ohne hebeln rufen mit:

DISABLE_PRY_RAILS=1 rails c 
+0

schöne und einfache Lösung! – RedFred

+3

Das ist sehr nett. Beachten Sie, dass Sie auch zuerst 'spring stop' ausführen müssen, bevor Sie das oben genannte aufrufen. – nonrectangular

0

durch die Antworten Inspired oben, habe ich folgendes zu der Klassendefinition in application.rb so dass Pry von der Konsole togglebar ist:

console do 
    if ENV['IRB'] 
    require 'irb' 
    config.console = IRB 
    end 
end 

Sie können dann rails c ausführen, um eine Pry-Konsole zu erhalten, und IRB=true rails c, um eine IRB-Konsole zu erhalten. Dies wird leicht geändert, wenn Sie die Umkehrung wünschen. Funktioniert in Rails 4 und 5.