2011-01-07 13 views
16

Próbowałem użyć HTTParty w moim kodu szynKłopot w tym httparty w Ruby on Rails

sudo gem install httparty 

Z linii poleceń mogę teraz z powodzeniem zrobić

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

Kiedy próbuję to w moje szyny app

require 'rubygems' 
require 'httparty' 

class FooController < ApplicationController 
    include HTTParty 

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

pojawia się komunikat o błędzie „nie ma takiego pliku do załadowania - httparty”

Podejrzewam, że coś jest nie tak z moim środowiskiem?

Odpowiedz

21

Nie musisz wykonywać czynności "włącz HTTParty" wewnątrz kontrolera. Po prostu usuń to i powinno działać. Właśnie to przetestowałem i zadziałało to dla mnie. Jeśli to nie działa, powinieneś dodać klejnot do swojego środowiska.

Zazwyczaj jeśli używasz gem wewnątrz aplikacji Rails, należy dodać następujące environment.rb:

config.gem "httparty" 

Klejnot będą dostępne w aplikacji, a teraz nie trzeba dodać ' wymagają "wewnątrz kontrolera. Ponadto nie musisz wymagać RubyGems wewnątrz kontrolera.

Podczas korzystania z szyn 3, należy umieścić następujące wewnątrz Gemfile:

gem "httparty" 

Mam nadzieję, że pracuje dla Ciebie. :)

+0

Mogę potwierdzić, że działa on przy moim końcu bez uwzględniania httparty. – fuzz

+0

Przypuszczam, że używa on Rails 3 i że nie umieścił "gem" w swoich Gemfile. –

+0

Dzięki za odpowiedź.W pliku z klejnotami znajdowały się strony httparty, ale teraz usunąłem dwa wymagania, a także dołączenie. Teraz otrzymuję komunikat o błędzie "niezainicjowany stały FooController :: HTTParty". Muszę przegapić coś naprawdę oczywistego, chyba czas na sen. – AllDayer

1

Wystąpił ten sam problem. Następnie przełączyłem się z Rubiego 1.8.7 na Ruby 1.9.2, a wszystkie błędy zostały zamienione w cienkie powietrze.

(Tak, zajęło mi sporo czasu, zanim pojawiła się możliwość, że problem może dotyczyć wersji Ruby. Skonfigurowałem bezpieczny serwer, aby uniknąć możliwych konfliktów z wersjami 2 rubinowymi, a po drodze do wielu godzin dostałem mój zestaw RoR działa poprawnie, a pierwszy test z httparty (oparty na przykładzie na górze) zakończył się po wyjęciu z pudełka! Wreszcie może ponownie spać ponownie :-)

7

Problem polega na tym, że jeśli załadujesz nowy klejnot, musisz zrestartować serwer, nawet jeśli jesteś w fazie rozwoju.

3

Miałem ten sam błąd. Próbowałem przesuwać wszystkie, ale znalazłem, wszystko, co musiałem zrobić, to zrestartować rails server. W końcu nie musiałem "wymagać HTTParty" ani "włączać" go. Po prostu trzeba go było załadować na szyny.

0

1) obejmują httpary w gemfile

otworzyć plik gem następnie dodać

gem 'httparty','YOUR VERSION NUMBER' 

2) uruchomić bundle install w wierszu poleceń pliku app

3) zrestartować serwer