如何在rails控制台启动时运行一些代码,有点像rc文件?
有没有办法执行一些只在控制台启动时运行的代码? 有点像rc文件( .bashrc
, .zshrc
等)? 我发现自己总是做很多事情。
例如,我会把它放在哪里
u = User.find_by_username('my_console_user')
所以u
可以在rails console
?
我已经诉诸于此,使用$
作为全局变量声明,并使用不起眼的console do
。 我认为有些东西更优雅……
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
如果你使用irb
,只需在~/.irbrc
添加一个方法(如果不存在则创建一个):
def find_by_username(username) User.find_by_username('my_console_user') end
如果使用~/.pryrc
pry-rails
也可以添加到~/.pryrc
。
希望这可以帮助!