2009-11-04 5 views
0

J'essaie de faire fonctionner la gemme de désinfection. Je l'ai installé et aseptiser au besoin nokogiri 1.3.3, mais quand je tente de l'utiliser dans mon application_helper.rb:Ruby nécessite un problème

require 'rubygems' 
require 'sanitize' 

Je reçois l'erreur:

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

(stack trace) 

This error occurred while loading the following files: 
    sanitize 

Je reçois aussi l'erreur si j'ai besoin de nokogiri, mais pas si j'ai besoin d'une autre gemme comme rmagick.

J'ai essayé de désinstaller et de réinstaller nokogiri et santitize, mais sans succès.

Mise à jour: Si j'exécute la commande require de irb, j'obtiens une erreur sur le fait que la commande n'est pas trouvée. Si j'essaie d'installer racc je reçois le message d'erreur à error while installing ruby gem

+0

Et avez-vous fait ce qui était recommandé dans les réponses à cette question? – Chuck

+0

Oui. Et a eu exactement les mêmes erreurs (note des commentaires qu'il a abandonné). –

Répondre

1

Voici comment je l'ai réparé.

Ajoutez ce qui suit 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' 

puis exécutez

rake gems:install 

(j'ai aussi désinstaller et réinstaller les pierres précieuses, mais qui ont pu être en raison de problèmes avec l'un des mes sources de gemme que j'avais ajoutées après le problème original ont surgi).

0

Avez-vous essayé d'installer racc avec la réponse donnée dans cette question? Il y a aussi des commentaires sur d'autres erreurs.

Si cela ne fonctionne pas, vous pouvez toujours essayer de désassurer le client, voir si cela fonctionne bien. Dans la ligne de commande:

cd C:/myapp/vendor 
gem unpack sanitize 

Puis dans votre application:

require 'vendor/sanitize/lib/sanitize' 

Adjust ci-dessus pour différents nommage des répertoires/structure bien sûr.

+0

J'ai essayé l'autre réponse et j'ai eu exactement les mêmes problèmes. J'ai essayé l'idée du vendeur, mais cela n'a fait aucune différence. –

Questions connexes