这是我想要做的事情:查找是否有人发推特关于某门课程。如果确实有人发了推特,我希望将该推特保存到我的推特模型中,并在相应的课程页面中显示该推特。
该脚本可通过
编辑:
从救援中获取的当前错误如下:
该脚本可通过
rails runner get_tweets.rb
在本地运行,但在Heroku上似乎执行了该脚本,但没有写入数据库。在Heroku中,我正在运行heroku run rails runner get_tweets.rb
(使用Cedar堆栈)。def get_course_tweets
@courses = Course.all
@courses.each do |course|
url = course.url
tweets = Twitter.search(url, {:rpp => 100, :recent => true, :show_user => true})
tweets.each do |tweet_info|
unless Tweet.find_by_tweet_id(tweet_info.id).present?
tweet = Tweet.new
tweet.course_id = course.id
tweet.tweet_id = tweet_info.id
tweet.tweet_text = tweet_info.text
tweet.from_user = tweet_info.from_user
begin
tweet.save!
rescue => error
puts error
end
end
end
end
end
编辑:
从救援中获取的当前错误如下:
PG::Error: ERROR: value "186306985577299969" is out of range for type integer : INSERT INTO "tweets" ("book_id", "course_id", "created_at", "from_user", "tutorial_id", "tweet_already_exists", "tweet_id", "tweet_posted_to_reviews", "tweet_text", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"
rescue
的时候将错误打印出来,看看是否有任何错误发生? - Andrew Marshall