J'utilise l'extrait suivant dans une application Rails: qui fonctionne sur certains fichiers du Web, puis se bloque sur d'autres avec: P> méthode non définie `chemin 'pour # N'importe quel moyen de résoudre ce problème étrange et intermittent? p> p>
3 Réponses :
Ne pas utiliser Open :: Uri comme ça.
simple faire: p> alors vous pouvez lire code> le fichier car vous avez un objet io-type: p> body = open(url).read
Selon le Docs Srtingeo Dosnt avoir un chemin de nom de la fonction. P>
En fait, il y avait: apidock.com/ruby/v1_9_1_378/stringio/path
Je suis définitivement en retard à la fête, mais ...
La racine de ce problème est que si vous utilisez La valeur par défaut (10 ko) est défini par le http: //yard.ruby-doc. org / stdlib-2.1.0 / openuri / buffer.html p> problème de boom, résolu! p> PS Assurez-vous d'utiliser #send sinon vous ne pouvez pas accéder aux méthodes #remove_Consst et #Cont_set.
p.p.s. Je ne conseillerais pas à la définir à zéro si vous faites beaucoup de petits IO, car les tempfiles créés seront probablement pires que de changer votre code pour utiliser correctement Strentio. Tout dépend de votre cas d'utilisation. P> p> ouvert (URL) code> sur un fichier inférieur à 10kb, il le convertira en Un objet de chaîne io automatique par magie au lieu d'utiliser un temple. L'objet Stringio comme tout le monde a souligné ne dispose pas de la méthode code> code> définie sur elle. P> stringmax code> constante ... p>
Vous venez d'avoir sauvé mon bacon!
Cela n'a pas fonctionné pour moi à moins que je changeais tous les constantes code> stringmax CODE> dans l'extrait de cordes.
Pourriez-vous fournir des expons d'URL avec et sans cette erreur?
@Flase Merci, cela semblait être des problèmes avec des fichiers extrêmement petits ne créant pas de fichier sauvegardé.