Esiste un modo per eseguire un codice che viene eseguito solo all'avvio della console? Un po 'come un file rc (.bashrc
, .zshrc
, ecc.)? Mi trovo sempre a fare certe cose molto.Come eseguire un codice solo quando viene avviata la console di rails, un po 'come un file rc?
Ad esempio, dove dovrei mettere questo
u = User.find_by_username('my_console_user')
in modo che u
è disponibile in rails console
?
Ho fatto ricorso a questo, l'uso di $
come dichiarazione di variabile globale e l'uso dell'oscuro console do
. Presumo ci sia qualcosa di più elegante in qualche modo ...
class Application < Rails::Application
#this is only executed in the console, also doens't seem to be documented anywhere but here: https://github.com/rails/rails/pull/3139
console do
$u1 = User.find_by_username('user1')
$u2 = User.find_by_username('user2')
end
end
Includere questo in un inizializzatore – apneadiving
Nella console è sufficiente digitare: 'load 'foo.rb'' e verrà eseguito il contenuto di' foo.rb'. Metti lì tutto il codice necessario. – jdoe
@apneadiving: quale bit? L'intera cosa? – pixelearth