2013-07-31 20 views
11

Używam Ruby on Rails 4.Ruby błąd: nie można załadować taki plik - Rest-client

Próbuję

require 'rest-client' 

w moim kontrolera tak, że można analizować dane logowania I otrzymuję formularz i wysyłam go do interfejsu API.

Mogę zweryfikować, że klejnot jest zainstalowany i jest również w mojej Gemfile na głównym katalogu aplikacji.

Jednak wciąż rzuca "nie można załadować takiego pliku - reszta-klient", gdy próbuję zażądać pliku w moim kontrolerze.

Mam googleed błąd i większość odpowiedzi widziałem albo klej nie został zainstalowany, nie był w Gemfile, albo połączenie obu tych. Tutaj też nie ma takiej sytuacji.

Czy mój kontroler nie może uzyskać dostępu do klejnotu pozostałego klienta z jakiegoś powodu? Muszę używać klienta-odpoczynku, ponieważ jest on wymagany w interfejsie API.

Jest to linia kiedyś zainstalować gem:

gem install rest-client 

Jest to strona z gem: https://github.com/archiloque/rest-client
który właśnie przekierowuje do https://github.com/rest-client/rest-client

Należy również pamiętać, że to działa dobrze, gdy nie użyłem kodu w projekcie Rails, ale po prostu uruchomiłem polecenia w Terminalu.

+0

rails console Zgodnie z dokumentacją github możesz ned wymagają „rest_cli ent 'z podkreśleniem. – yarakyo

+0

Wprowadziłem tę zmianę z tym samym wypadkowym błędem. – Jerrod

+0

Pojawia się w pakiecie. Ponownie uruchomił się serwer. Dzięki Abe. – Jerrod

Odpowiedz

14

Zakładając, że używasz https://github.com/rest-client/rest-client(ponieważ nie określono), linia require powinny być

require 'rest-client' 

według README. Należy również zrestartować serwer szyny po dodaniu klejnotu do urządzenia Gemfile i uruchomieniu bundle.

+1

To już nie ma zastosowania – poorva

+0

Cóż, został wysłany prawie 3 lata temu. Jeśli chcesz wprowadzić zmiany, możesz zaproponować zmianę. – deefour

+0

Cóż, nie możesz zrobić 1-znakowej edycji :), zmień to z 'require 'rest_client'' na' require rest-client' – poorva

-1

Spróbuj require 'rest_client' zamiast require 'rest-client'

0

Najpierw upewnij się, że zainstalowano gem 'rest-client', ~>1.8.0 na pliku gem. Uruchom pakiet install, a następnie require 'rest_client'. To działało dla mnie.

0

Dla mnie był to problem z pakietem (który myślałem, że zainstalowałem). Uwaga na spoiler, ja nie, i tak to naprawiłem. Jestem na Mac z systemem OS X Yosemite i moja wersja terminal jest Darwin Kernel wersja 14.3.0:

cd 
gem install bundler 

lub

cd 
sudo gem install bundler 

Jeśli masz coś na wzór następujący błąd:

BŁĄD: Podczas wykonywania gem ... (Gem :: FilePermissionError) Nie masz uprawnień do zapisu dla katalogu /Library/Ruby/Gems/2.0.0.

Wreszcie zmienić wymagać od linii:

require 'rest-client' 

do

require 'rest_client' 

Następnie uruchomić kod!

3

Uruchom następujące polecenie w terminalu:

gem install rest-client 

i używać require 'rest-client'. Nie ma potrzeby zmiany na rest_client.

1

w moim przypadku, żaden z rozwiązań w tym wątku pracował
co pomogło, było dodanie gem bezpośrednio w Gemfile:

gem 'rest-client' 

po zamknięciu rails server, wychodząc rails console i działa bundle install,
otworzyłem ponownie i tym razem require 'rest-client' pracowała bezawaryjnie

Powiązane problemy