【问题标题】:Saving Tweets For Current User / Authorized User into Database将当前用户/授权用户的推文保存到数据库中
【发布时间】:2013-05-20 16:10:13
【问题描述】:

我正在做一个小项目,但我有点卡住了。我已经在网上遵循了一些教程来让事情动起来,这就是我想出的。在使用 Twitter 进行身份验证和使用 Twitter gem 运行类似的东西时,一切正常;

current_user.twitter.home_timeline(count:10)

但是,由于 Twitter 有限制,我决定通过 Omniauth 验证的“current_user”,他/她的推文将通过 User_id 保存到与该用户相关的数据库中。这是我到目前为止所得到的;

控制器:

def pull
current_user.newtweets.pull_tweets
end

模型(tweets.rb)

class Newtweets < ActiveRecord::Base
attr_accessible :content, :followers, :retweets, :screen_name, :time_date, :tweet_id,
:user_id

belongs_to :user

def self.pull_tweets
Twitter.home_timeline(since_id: maximum(:tweet_id)).each do |tweet|
unless exists?(tweet_id: tweet.id)
    create!(
            tweet_id: tweet.id,
            followers: tweet.user.followers_count,
            retweets: tweet.retweet_count,
            time_date: tweet.created_at,
            content: tweet.text,
            screen_name: tweet.user.screen_name,
    )
end
end
end

模型(用户.rb)

...
has_many :newtweets
...

路线:

match 'refresh' => 'tweet#pull'

所以,我对此很陌生,但这就是我迄今为止所构建的。上面的设置确实出错了; "未初始化的常量 User::Newtweet"

现在,如果我去控制器并替换控制器中的以下行; 定义拉 current_user.newtweets.pull_tweets.limit(100) 结束

与;

def pull
Newtweets.pull_tweets
end

我得到另一个错误;无法验证您的身份

在这方面的任何帮助都会很棒。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 twitter twitter-oauth


    【解决方案1】:

    我想通了,或者我想是这样,但我确信它不是最干净的方法,但它可以满足我的需要。在这里;

    def self.pull
        tweets = User.current.twitter.home_timeline(since_id: maximum(:tweet_id))
        tweets.each do |tweet|
            unless exists?(tweet_id: tweet.id)
            Newtweets.create({tweet_id: tweet.id, followers: tweet.user.followers_count, retweets: tweet.retweet_count, time_date: tweet.created_at, content: tweet.text, screen_name: tweet.user.screen_name, user_id: User.current })
            end
       end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      相关资源
      最近更新 更多