Ruby on RailsのHTTPARTYを含む問題
-
30-09-2019 - |
質問
Railsコードでhttpartyを使用しようとしています
sudo gem install httparty
コマンドラインから、私はこれで成功裏に行うことができます
httparty "http://twitter.com/statuses/public_timeline.json"
Railsアプリでこれを試してみるとき
require 'rubygems'
require 'httparty'
class FooController < ApplicationController
include HTTParty
def bar
blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json")
end
end
エラーメッセージが表示されます。「ロードするそのようなファイルはありません-HTTPARTY」
私の環境に何か問題があると思いますか?
解決
コントローラー内に「httparty」を含める必要はありません。それを削除するだけで動作するはずです。私はそれをテストしたばかりで、それは私のために働きました。これが機能しない場合は、環境に宝石を追加する必要があります。
通常、Railsアプリケーション内で宝石を使用する場合は、環境に以下を追加する必要があります。RB:
config.gem "httparty"
GEMは現在アプリケーションで利用可能になり、コントローラー内に「要求」を追加する必要はありません。また、コントローラー内のRubyemsを必要とする必要はありません。
Rails 3を使用する場合、Gemfile内に次のものを入れる必要があります。
gem "httparty"
私はそれがあなたのために働くことを願っています。 :)
他のヒント
問題は、新しい宝石をロードする場合、開発中であってもサーバーを再起動する必要があることです。
同じエラーがありました。私は移動しようとしました require HTTParty
全体的に、しかし見つかった、私がする必要があるのは再起動することだけでした rails server
結局、私はそれを「httpartyを要求する」必要はありませんでした。レールにロードする必要がありました。
1)gemfileにhttparyを含めます
宝石ファイルを開き、追加します
gem 'httparty','YOUR VERSION NUMBER'
2)実行します bundle install
アプリファイルのコマンドプロンプト
3)サーバーを再起動します
同じ問題に遭遇しました。次に、Ruby 1.8.7からRuby 1.9.2に切り替えました。すべてのエラーが薄い空気に変わりました。
(はい、Rubyバージョンが問題になる可能性を考え出すのに最初にかなりの時間がかかりました。2つのRubyバージョンとの競合の可能性を回避するためにSecundairyサーバーを構成しました。そしてランニング。そして、httpartyでの最初のテスト(上の例に基づいて)は箱から出していました!