麻烦包括在铁轨上的红宝石中的httparty

All*_*yer 18 ruby ruby-on-rails httparty

我一直在尝试在rails代码中使用HTTParty

sudo gem install httparty
Run Code Online (Sandbox Code Playgroud)

从命令行我现在可以成功地做到

httparty "http://twitter.com/statuses/public_timeline.json"
Run Code Online (Sandbox Code Playgroud)

当我在我的rails应用程序中尝试此操作时

require 'rubygems'
require 'httparty'

class FooController < ApplicationController
  include HTTParty

  def bar
    blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json")
  end
end
Run Code Online (Sandbox Code Playgroud)

我收到错误消息"没有这样的文件加载 - httparty"

我怀疑我的环境有问题吗?

Rob*_*wer 23

您不需要在Controller中包含"包含HTTParty".只需删除它,它应该工作.我刚试过它,它对我有用.如果这对您不起作用,则应将gem添加到您的环境中.

通常,如果您在Rails应用程序中使用gem,则应将以下内容添加到environment.rb:

config.gem "httparty"
Run Code Online (Sandbox Code Playgroud)

gem现在可以在应用程序中使用,您无需在Controller中添加"require".此外,您不需要在Controller中需要RubyGems.

当您使用Rails 3时,您需要将以下内容放在Gemfile中:

gem "httparty"
Run Code Online (Sandbox Code Playgroud)

我希望这个对你有用.:)

  • @Allayer:你可能做了同样的事情.添加到Gemfile,运行bundle install,然后忘记重启rails服务器!也许......无论如何,这样做对我来说是个窍门. (3认同)

Har*_*ess 8

问题是,如果您加载新的gem,即使您正在开发中,也必须重新启动服务器.