我正在努力让消毒宝石得以运行。我根据需要安装了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,我也会收到错误,但如果我需要另一个宝石,例如rmagick,我也不会。
我尝试卸载并重新安装nokogiri和santitize,但没有运气。
更新: 如果我从irb运行require命令,则会收到有关未找到racc的错误。如果我尝试安装racc,我会在error while installing ruby gem
收到错误消息答案 0 :(得分: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
(我还必须卸载并重新安装宝石,但这可能是由于我在原始问题出现后添加的某个宝石源出现问题)。
答案 1 :(得分:0)
您是否尝试使用该问题中给出的答案安装racc?还有关于进一步错误的评论。
如果这不起作用,您可以随时尝试销售清洁,看看它是否正常工作。在命令行中:
cd C:/myapp/vendor
gem unpack sanitize
然后在你的申请中:
require 'vendor/sanitize/lib/sanitize'
当然,针对不同的目录命名/结构调整上述内容。