Как запустить скрипт перед каждым вызовом консоли Rails?
Я довольно устал писать эту строку каждый раз, когда я хочу открыть консоль Rails:
irb(main):001:0> ActsAsTenant.current_tenant = User.find(1).account
Есть ли способ запустить команду / скрипт перед каждым вызовом"rails c"/" irb"?
Заранее спасибо!
3 ответа:
Поместите код, который вы хотите выполнить, в файл
.irbrc
в корневой папке вашего проекта:echo 'ActsAsTenant.current_tenant = User.find(1).account' >> .irbrc bundle exec rails c # ⇐ the code in .irbrc got executed
Sidenote : использовать
Pry
вместо глупогоIRB
. Попробуйте, и вы никогда не откатитесь назад.
Вы можете поместить свой установочный код в файл rb, например:
Фу.РБ:
def irb_setup ActsAsTenant.current_tenant = User.find(1).account end
Запустите irb следующим образом:
irb -r ./foo.rb
И вызывать метод (который будет автозаполнение нажатием клавиши Tab)
2.3.0 :001 > init_irb
На самом деле, возможно, вы могли бы поместить код непосредственно, без какого-либо метода, и он был бы выполнен, когда он загружен. Но я не уверен, сработает ли это или испортит порядок загрузки.
Я написал расширенный ответ на этот вопрос в другом вопросе , но короткий ответ заключается в том, что если вы используете Rails 3 или выше , Вы можете использовать консольный метод в вашем приложении::, чтобы это произошло:
module YourApp class Application < Rails::Application ... console do ActsAsTenant.current_tenant = User.find(1).account end end end