如何在IRB会话中加载ActiveRecord
?
我有以下
# config/app.rb
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/mydb.sqlite3'
)
但是当我启动IRB并尝试加载它时
irb#1(main):001:0> require config/application.rb
我得到了
NameError: undefined local variable or method `config' for main:Object
Did you mean? conf
我希望能够与IRB的ActiveRecord对象进行交互。 我不使用Rails,只使用ActiveRecord。
谢谢
答案 0 :(得分:6)
这里要改变两件事:
config
解释为变量名。将名称放在引号中,它就赢了。require_relative
。 require
仅查看默认的Ruby加载路径。试试这个:
require_relative 'config/application.rb'
答案 1 :(得分:1)
您可以使用pry构建从命令行启动的控制台。简单的控制台解决方案这样,每次你凝视交互式会话时,你都不必要求irb。
# bin/console
#!/usr/bin/env ruby
require_relative '../config/app.rb'
require 'pry'
binding.pry
有关pry https://github.com/pry/pry
的更多信息P.S。你应该在bin / console上设置+ x,即
$ chmod +x bin/console
然后你打电话
$ bin/console
并从config / app.rb和交互式会话准备好运行所有代码。无需从irb开始工作。
穷人的轨道控制台相当于: - )