2011-01-07 15 views
16

que he estado tratando de utilizar HTTParty en mi código rielespara él, incluyendo httparty en Ruby on Rails

sudo gem install httparty 

Desde la línea de comandos ahora puedo hacer con éxito

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

Cuando intento esto en mis rieles app

require 'rubygems' 
require 'httparty' 

class FooController < ApplicationController 
    include HTTParty 

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

consigo el mensaje de error "no existe el fichero a cargar - httparty"

¿Sospecho que algo anda mal en mi entorno?

Respuesta

21

No necesita hacer 'incluir HTTParty' dentro del Controlador. Solo elimínalo y debería funcionar. Lo probé y funcionó para mí. Si esto no funciona para usted, debe agregar la gema a su entorno.

Por lo general, si se utiliza una joya dentro de su aplicación Rails, se debe añadir lo siguiente a environment.rb:

config.gem "httparty" 

La gema estarán disponibles en la aplicación ahora y no necesitan añadir ' requiere 'dentro del controlador. Además, no necesita requerir RubyGems dentro de un Controlador.

Al utilizar los carriles 3, tiene que poner el siguiente dentro de la Gemfile:

gem "httparty" 

espero que funcione para usted. :)

+0

Puedo confirmar que está funcionando en mi extremo sin incluir httparty. – fuzz

+0

Supongo que está usando Rails 3 y que no ha puesto 'gem 'httparty' en su Gemfile. –

+0

Gracias por la respuesta.Tenía httparty en el archivo gem, pero ahora eliminé los dos y también el include. Ahora obtengo el error "constante no inicializada FooController :: HTTParty". Debo estar perdiendo algo realmente obvio, es hora de dormir, creo. – AllDayer

1

Se metió en el mismo problema. Luego cambié de Ruby 1.8.7 a Ruby 1.9.2 y todos los errores barnizados en el aire.

(Sí, primero me llevó algunas horas llegar a la posibilidad de que la versión de Ruby podría ser el problema. Configuré un servidor secundario para evitar posibles conflictos con 2 versiones de ruby, y después de muchas horas conseguí mi RoR se apiló y ejecutó. Y la primera prueba con httparty (basado en el ejemplo de arriba) funcionó de forma predeterminada. Finalmente puede dormir RESTfully nuevamente :-)

7

El problema es que si carga una nueva gema, tienes que reiniciar el servidor incluso si estás en desarrollo.

3

Tuve este mismo error. Intenté mover el require HTTParty, pero encontré que todo lo que tenía que hacer era reiniciar el rails server. Al final no necesité 'requerir HTTParty' ni 'incluirlo'. Solo necesitaba ser cargado en los rieles.

0

1) incluyen la httpary en su Gemfile

abrir su archivo joya a continuación, añadir

gem 'httparty','YOUR VERSION NUMBER' 

2) ejecutar bundle install en su línea de comandos del archivo de aplicación

3) reiniciar el servidor