我对 ruby 和 RoR 很陌生。我想保存当前显示在我的终端上的传入推文。你能解释一下为什么没有保存推文吗?
我在终端中运行“ruby mine_tweets.rb”并出现 status.text 的“puts”,但数据库中没有条目。
mine_tweets.rb
require 'rubygems'
require 'tweetstream'
puts "searching for turkey....should write to database"
TweetStream.configure do |config|
config.consumer_key = 'XXXXXXX'
config.consumer_secret = 'XXXXXXX'
config.oauth_token = 'XXXXXXX'
config.oauth_token_secret = 'XXXXXXX'
config.auth_method = :oauth
end
# search for "turkey" and will print text and screen name and should store other values in db
TweetStream::Client.new.track('turkey') do |status|
puts status.text + " FROM: @" + status.user.screen_name
Tweet.create(:user_id => status.user.id, :tweet_text => status.text, :screen_name =>status.user.screen_name)
Tweet.save!
end
@client = TweetStream::Client.new
@client.on_delete do |status_id, user_id|
Tweet.delete(status_id)
end
模型/推文.rb
class Tweet < ActiveRecord::Base
attr_accessible :screen_name, :tweet_text, :user_id
end