0

我正在尝试启动并运行 sanitize gem。我已经根据需要安装了 sanitize 和 nokogiri 1.3.3,但是当我尝试在 application_helper.rb 中使用它时:

require 'rubygems'
require 'sanitize'

我得到错误:

MissingSourceFile 
no such file to load -- sanitize
RAILS_ROOT: C:/Ruby/GWS

(stack trace)

This error occurred while loading the following files:
   sanitize

如果我需要 nokogiri,我也会收到错误消息,但如果我需要其他 gem,例如 rmagick,我不会。

我已经尝试卸载并重新安装 nokogiri 和 santitize,但没有运气。

更新:如果我从 irb 运行 require 命令,我会收到关于找不到 racc 的错误。如果我尝试安装 racc,我会在安装 ruby​​ gem 时收到错误消息

4

2 回答 2

1

这是我修复它的方法。

将以下内容添加到 config/environment.rb

Rails::Initializer.run do |config|
  config.gem 'nokogiri', :version => '~> 1.3.3', :source => 'http://gems.github.com'
end

gem 'nokogiri', '~> 1.3.3'

require 'nokogiri'

Rails::Initializer.run do |config|
  config.gem 'sanitize', :version => '~> 1.1.0', :source => 'http://gems.github.com'
end

gem 'sanitize', '~> 1.1.0'

require 'sanitize'

然后运行

rake gems:install

(我还必须卸载并重新安装 gem,但这可能是由于我在原始问题出现后添加的一个 gem 源的问题)。

于 2009-11-06T21:42:40.537 回答
0

您是否尝试使用该问题中给出的答案安装 racc?也有关于进一步错误的评论。

如果这不起作用,您可以随时尝试 vendoring sanitize,看看是否可以正常工作。在您的命令行中:

cd C:/myapp/vendor
gem unpack sanitize

然后在您的应用程序中:

require 'vendor/sanitize/lib/sanitize'

当然,针对不同的目录命名/结构调整上述内容。

于 2009-11-05T03:45:56.507 回答