Ruby on Rails 4。
私は。。をしようとしています
require 'rest-client'
私のコントローラーで、フォームから取得したログイン情報を解析し、それをAPIに送信できるようにします。
Gemがインストールされており、アプリケーションルートのGemfileにもあることを確認できます。
ただし、コントローラーでファイルを要求しようとすると、「そのようなファイルをロードできません-rest-client」がスローされます。
私はエラーをググってみました、そして私が見たほとんどの答えは、gemがインストールされていなかったか、Gemfileになかったか、またはそれらの両方の組み合わせでした。ここにも状況はありません。
なんらかの理由でコントローラがrest-client gemにアクセスできませんか? APIで必要なため、rest-clientを使用する必要があります。
これは、gemのインストールに使用した行です。
gem install rest-client
これはgemのホームページです: https://github.com/archiloque/rest-client
これは https://github.com/rest-client/rest-client にリダイレクトするだけです
また、Railsプロジェクトでコードを使用していなくても、ターミナルでコマンドを実行しているだけで問題なく機能することにも注意してください。
https://github.com/rest-client/rest-client(指定しなかったため)、require
行は
require 'rest-client'
[〜#〜] readme [〜#〜] に従って。また、gemをGemfile
に追加してbundle
を実行した後は、必ずRailsサーバーを再起動してください。
端末で次のコマンドを実行します。
gem install rest-client
require 'rest-client'
。 rest_clientに変更する必要はありません。
私の場合、このスレッドのソリューションはどれも機能しませんでした
機能したのは、Gemfile
にgemを直接追加することでした:
gem 'rest-client'
Rails server
を閉じ、Rails console
を終了してbundle install
を実行した後、
再びRails console
を開いたところ、今回はrequire 'rest-client'
が問題なく動作しました
まず、gemファイルにgem 'rest-client'
、〜> 1.8.がインストールされていることを確認してください。 bundle installを実行し、次にrequire 'rest_client'
を実行します。これでうまくいきました。
私にとっては、バンドルの問題でした(インストールしたと思いました)。スポイラー警告、私はしませんでした、そしてこれは私がそれを修正した方法です。 OS X Yosemiteを実行しているMacを使用していて、ターミナルバージョンはDarwin Kernelバージョン14.3.0です。
cd
gem install bundler
または
cd
Sudo gem install bundler
次のエラーの行に沿って何かが発生した場合:
エラー:gemの実行中...(Gem :: FilePermissionError)/Library/Ruby/Gems/2.0.0ディレクトリへの書き込み権限がありません。
最後に、require行を次のように変更します。
require 'rest-client'
に
require 'rest_client'
次に、コードを実行します。