我好几天都找不到这个问题的解决方案。我是铁轨初学者的红宝石,所以我确信我错过了一些明显的东西。
我正在尝试缩短网站的网址,以便在我想为每个新活动创建的推文中链接到该网址。当我在我的网站上创建一个新事件时,我收到以下错误:
NameError:未定义的局部变量或方法
bitly' for main:Object from (irb):7 from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in
start' 来自/usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands/console.rb:8:instart' from /usr/local/rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.12/lib/rails/commands.rb:41:in
' 来自script / rails:6:require' from script/rails:6:in
'
我正在使用bitly gem。
在我的gemfile中,我有:
gem 'bitly', "~> 0.9.0"
我在config / initializers中创建了一个bitly.rb文件:
Bitly.configure do |config|
config.api_version = 3
config.login = "xxxx"
config.api_key = "yyyy"
end
在我的活动模型中,我有:
after_create :tweet_event
def tweet_event
client = Bitly.client
u = bitly.shorten('http://www.weinevents.de')
u = u.short_url
tweet = title + " " + u
send_tweet(tweet)
end
在我的application_helper.rb文件中,我有:
def send_tweet(tweet)
client = Twitter::Client.new
client.update(tweet)
end
在我的application_controller中我有
require 'bitly'
答案 0 :(得分:1)
这是一个错字。你有bitly.shorten('http://www.weinevents.de')
。当文档说bitly.shorten
时,bitly
引用一个客户端对象,您将其命名为client
。因此:
client.shorten('http://www.weinevents.de')