0

我正在构建一个使用 ruby​​/pg/ActiveRecord/TweetStream (gem) 将推文保存到 postgres 数据库的脚本。

这个脚本工作正常..

...

TweetStream::Client.new.track(SEARCH_TERMS) do |t|
  puts "#{t.text}"
  attributes = {
    tweetid: t[:id],
    text: t.text,
    in_reply_to_user_id: t.in_reply_to_user_id,
    in_reply_to_status_id: t.in_reply_to_status_id,
    received_at: t.created_at,
    user_statuses_count: t.user.statuses_count,
    user_followers_count: t.user.followers_count,
    user_profile_image_url: t.user.profile_image_url,
    user_screen_name: t.user.screen_name,
    user_timezone: t.user.time_zone,
    user_location: t.user.location,
    user_lang: t.lang, 
    user_id_str: t.user.id,
    user_name: t.user.name,
    user_url: t.user.url,
    user_created_at: t.user.created_at,
    user_geo_enabled: t.user.geo_enabled,
  }
  if StoreTweet.create(attributes)
    puts "saved"
  else
    puts "error"
  end
end

直到我添加

user_geo_enabled: t.user.geo_enabled,
coordinates: t.coordinates.coordinates,}

我也试过

t.coordinates
t.coordiantes[:coordinates]
t[:coordinates] #this allows me to save but is always blank if when geo_enabled is 'true'

Twitter 开发中心 ( https://dev.twitter.com/docs/platform-objects/tweets ) 告诉我“坐标”是浮点数的集合,例如:

"coordinates":
{
  "coordinates":
  [
    -75.14310264,
    40.05701649
  ],
  "type":"Point"
}

目前我使用“文本”字段。为了将两个值存储在一起,我应该为该字段提供哪种类型?

4

0 回答 0