这个让我疯了.我可以通过irb加载一个gem:
steve@server:/var/www/listings$ irb
irb(main):001:0> Gem.path
=> ["/home/steve/.gem/ruby/1.9.1", "/usr/local/ruby/lib/ruby/gems/1.9.1"]
irb(main):002:0> require 'nokogiri'
=> true
Run Code Online (Sandbox Code Playgroud)
但我无法通过rails控制台加载它:
irb(main):001:0> Gem.path
=> ["/home/steve/.gem/ruby/1.9.1", "/usr/local/ruby/lib/ruby/gems/1.9.1"]
irb(main):002:0> require 'nokogiri'
=> false
Run Code Online (Sandbox Code Playgroud)
宝石(nokogiri)已安装
steve@server:/var/www/listings$ gem which nokogiri
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.3.1/lib/nokogiri.rb
Run Code Online (Sandbox Code Playgroud)
捆绑同意
steve@server:/var/www/listings$ bundle show nokogiri
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.3.1
Run Code Online (Sandbox Code Playgroud)
但是,当然,rake spec失败了
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:304:in `rescue in depend_on': No such file to load -- Nokogiri (LoadError)
Run Code Online (Sandbox Code Playgroud)
其他环境信息:
steve@server:/var/www/listings$ ruby --version
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
steve@server:/var/www/listings$ rails --version
Rails 3.0.1
steve@server:/var/www/listings$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel …Run Code Online (Sandbox Code Playgroud) 如何加载ActiveRecordIRB会话?
我有以下内容
# config/app.rb
require 'active_record'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'db/mydb.sqlite3'
)
Run Code Online (Sandbox Code Playgroud)
但是当我启动IRB并尝试加载它时
irb#1(main):001:0> require config/application.rb
Run Code Online (Sandbox Code Playgroud)
我明白了
NameError: undefined local variable or method `config' for main:Object
Did you mean? conf
Run Code Online (Sandbox Code Playgroud)
我希望能够与IRB的ActiveRecord对象进行交互.我不使用Rails但只使用ActiveRecord.
谢谢