【发布时间】:2011-03-13 06:09:06
【问题描述】:
我正在使用基于此示例的足够简单的实现:http://www.appelsiini.net/2010/using-bitly-with-httparty
我把这个文件放在lib文件夹(bitly.rb)
require 'rubygems'
require 'httparty'
class Bitly
include HTTParty
base_uri "api.bit.ly"
@@login = "goldhat"
@@api_key = "R_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
def self.shorten(url)
response = get("/v3/shorten?login=#{@@login}&apiKey=#{@@api_key}&longUrl=#{url}")
response["data"]["url"]
end
end
由于某种原因,我得到了一个 nil 对象。好像 bitly 甚至没有响应任何数据。我在控制台和应用程序中对其进行了测试,得到了同样的错误:
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
from c:/goldhat_production/lib/bitly.rb:9:in `shorten'
from (irb):1
有什么想法吗?
【问题讨论】:
-
您的代码按预期工作。您的错误似乎是由于代码中的其他问题(假设您收到 AR::Base 错误)。你能再贴一些代码吗?
-
嗯,虽然我在控制台中输入 Bitly.shorten("stackoverflow.com") 时它不起作用,只是参考我上面粘贴的代码。
-
试试 Bitly.shorten("stackoverflow.com")
-
这没有按预期工作——确保你有完整的 http://stackoverflow.com
-
问题肯定是加载问题,不是Bitly代码的问题。
标签: ruby-on-rails bit.ly httparty