每次我想打开Rails控制台时,我都厌倦了写这行:
irb(main):001:0> ActsAsTenant.current_tenant = User.find(1).account
有没有办法在每次“rails c”/“irb”调用之前运行命令/脚本?
提前致谢!
答案 0 :(得分:2)
将要执行的代码放入项目根文件夹中的.irbrc
文件中:
echo 'ActsAsTenant.current_tenant = User.find(1).account' >> .irbrc
bundle exec rails c # ⇐ the code in .irbrc got executed
Sidenote :使用Pry
代替愚蠢的IRB
。尝试一下,你永远不会回滚。
答案 1 :(得分:1)
您可以将设置代码放在rb文件中,例如:
foo.rb:
def irb_setup
ActsAsTenant.current_tenant = User.find(1).account
end
像这样启动irb:
irb -r ./foo.rb
并调用方法(将自动完成按下标签)
2.3.0 :001 > init_irb
实际上也许你可以直接放置代码而不需要任何方法,它会在加载时执行。但我不确定这是否会对加载顺序起作用或搞乱。
答案 2 :(得分:1)
我写了extended answer to this in another question,但简短的答案是,如果您是using Rails 3 or above,则可以在YourApp :: Application上使用控制台方法来实现它:
module YourApp
class Application < Rails::Application
...
console do
ActsAsTenant.current_tenant = User.find(1).account
end
end
end