Gem可用于irb但不是rails控制台

rob*_*ntw 14 ruby gem ruby-on-rails

我试图在我的rails项目中使用RedCloth gem.当我使用时,irb我可以加载宝石:

require 'rubygems'
require 'RedCloth'
Run Code Online (Sandbox Code Playgroud)

它工作正常,但当我在rails控制台中尝试相同的事情时,我收到一条错误消息,指出无法找到gem.

有谁知道可能导致这种情况的原因是什么?

Hit*_*rma 20

您可以将gem路径附加到ruby加载路径.做这个:

gem which faker
=> /usr/local/ruby/......../faker-0.1.1/lib/faker.rb
Run Code Online (Sandbox Code Playgroud)

启动Rails控制台并执行以下操作:

$: << '/usr/local/ruby/......../faker-0.1.1/lib/'
Run Code Online (Sandbox Code Playgroud)

现在加载faker gem

require 'faker'
=> true
Run Code Online (Sandbox Code Playgroud)

  • Rails 6: `require 'faker'` 返回 false,`require '/usr/local/ruby/......../faker-0.1.1/lib/'` =&gt; true (2认同)

Dyl*_*kow 17

你的rails项目是否Gemfile包含gem 'RedCloth'在其中?Rails只会加载该文件中指定的gem.