我很厌烦每次想打开Rails控制台时都要写这一行:
irb(main):001:0> ActsAsTenant.current_tenant = User.find(1).account
在每次运行"rails c"/"irb"之前是否有任何方式可以运行命令/脚本?
提前感谢!
我很厌烦每次想打开Rails控制台时都要写这一行:
irb(main):001:0> ActsAsTenant.current_tenant = User.find(1).account
在每次运行"rails c"/"irb"之前是否有任何方式可以运行命令/脚本?
提前感谢!
.irbrc
文件中:echo 'ActsAsTenant.current_tenant = User.find(1).account' >> .irbrc
bundle exec rails c # ⇐ the code in .irbrc got executed
提醒: 使用Pry
替代愚蠢的IRB
。尝试一下,您就再也不会回头了。
我在另一个问题中写了一个详细答案,但简短的答案是,如果你使用Rails 3或更高版本,你可以使用YourApp::Application上的console方法来实现它:
module YourApp
class Application < Rails::Application
...
console do
ActsAsTenant.current_tenant = User.find(1).account
end
end
end
def irb_setup
ActsAsTenant.current_tenant = User.find(1).account
end
像这样启动irb:
irb -r ./foo.rb
2.3.0 :001 > init_irb
实际上,也许你可以直接放置代码,而不需要任何方法,当加载完成后它将被执行。但我不确定这是否会影响加载顺序。
IRB
在启动时会自动执行 ~/.irbrc
和 ./.irbrc
文件。 - Aleksei Matiushkin