如何在IRB中要求ActiveRecord

rob*_*rob 1 ruby activerecord rubygems irb require

我想在我的IRB会话中加载ActiveRecord gem,但以下内容不起作用:

require 'activerecord'
2.4.1 :004 > require 'activerecord'
LoadError: cannot load such file -- activerecord
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from (irb):4
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)

这也不是:

2.4.1 :018 > require 'activerecord-5.1.2'
LoadError: cannot load such file -- activerecord-5.1.2
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require'
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require'
    from (irb):18
    from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud)

这是我在irb中的宝石路径:

        2.4.1 :012 > Gem.path
     => [
          "/Users/robskrob/.rvm/gems/ruby-2.4.1", 
          "/Users/robskrob/.rvm/gems/ruby-2.4.1@global
        ]
Run Code Online (Sandbox Code Playgroud)

这是我的活跃记录宝石:

ls /Users/robskrob/.rvm/gems/ruby-2.4.1/gems/activere
activerecord-4.2.10/   activerecord-5.1.2/    activerecord-5.1.4/    activerecord-5.1.6/
activerecord-5.0.0.1/  activerecord-5.1.3/    activerecord-5.1.5/    activeresource-5.0.0/
Run Code Online (Sandbox Code Playgroud)

如何将其中一个ActiveRecord gems加载到我的IRB会话中?

我看过这篇文章这篇文章,但我无法从问题或答案中找到解决方案.

Oma*_*ado 5

尝试 require('active_record')

如果你看一下gem Github repo,实际的文件名是active_record.rb,所以上面的代码应该可行.

https://github.com/rails/rails/tree/master/activerecord/lib

  • 我真的不知道说实话.所以在irb中需要做的是查找任何gems作为参数传入,如果它无法找到gem它将通过错误"LoadError:无法加载此类文件 - " (2认同)