2011-01-07 10 views
16

ho cercato di usare HTTParty nel mio codice rotaieProblemi compresi httparty in Ruby on Rails

sudo gem install httparty 

Dalla riga di comando Ora posso fare con successo

httparty "http://twitter.com/statuses/public_timeline.json" 

Quando provo questo i miei rotaie app

require 'rubygems' 
require 'httparty' 

class FooController < ApplicationController 
    include HTTParty 

    def bar 
    blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json") 
    end 
end 

ricevo il messaggio di errore "No such file da caricare - httparty"

Sospetto che ci sia qualcosa di sbagliato nel mio ambiente?

risposta

21

Non è necessario includere "include HTTParty" all'interno del controller. Basta rimuovere e dovrebbe funzionare. L'ho appena testato e ha funzionato per me. Se questo non funziona per te, dovresti aggiungere la gemma al tuo ambiente.

Di solito se si utilizza una gemma all'interno della vostra applicazione Rails, è necessario aggiungere quanto segue per environment.rb:

config.gem "httparty" 

La gemma sarà disponibile nell'applicazione ora e non c'è bisogno di aggiungere ' richiedono 'all'interno del Controller. Inoltre, non è necessario richiedere RubyGems all'interno di un controller.

Quando si utilizza Rails 3, è necessario inserire il seguente all'interno del Gemfile:

gem "httparty" 

Spero che funziona per voi. :)

+0

Posso confermare che sta funzionando sulla mia parte senza includere httparty. – fuzz

+0

Direi che sta usando Rails 3 e che non ha inserito 'gem 'httparty' nel suo Gemfile. –

+0

Grazie per la risposta.Ho avuto httparty nel file gem, ma ora ho rimosso le due richieste e anche l'include. Ricevo ora l'errore "costante non inizializzato FooController :: HTTParty". Devo mancare qualcosa di veramente ovvio, penso di dormire. – AllDayer

1

Ha subito lo stesso problema. Poi sono passato da Ruby 1.8.7 a Ruby 1.9.2 e tutti gli errori sono stati verniciati nel nulla.

(Sì, mi ci sono volute alcune ore prima che venisse fuori la possibilità che la versione di Ruby potesse essere il problema. Configurato un server per evitare possibili conflitti con 2 versioni di rubini e dopo molte ore ho ottenuto il mio RoR si accumula e funziona e il primo test con httparty (basato sull'esempio in alto) ha funzionato fuori dalla scatola! Finalmente può dormire di nuovo RESTfully :-)

7

Il problema è che se si carica un nuovo gioiello, devi riavviare il server anche se sei in sviluppo.

3

Ho avuto lo stesso errore. Ho provato a spostare il require HTTParty dappertutto, ma ho trovato, tutto quello che dovevo fare era riavviare il rails server Alla fine non avevo bisogno di 'richiedere HTTParty' né 'includerlo'. Doveva solo essere caricato nei binari.

0

1) includono la httpary nel vostro Gemfile

aprire il file gemma quindi aggiungere

gem 'httparty','YOUR VERSION NUMBER' 

2) gestita bundle install nel prompt dei comandi del file app

3) riavviare il server