私は小さなプロジェクトに取り組んでいて、少し立ち往生しています。私は物事を動かすためにオンラインでいくつかのチュートリアルに従ってきましたが、ここに私が思いついたものがあります. 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
モデル(user.rb)
...
has_many :newtweets
...
ルート:
match 'refresh' => 'tweet#pull'
だから、私はこれが初めてですが、それが私がこれまでに構築したものです。上記のセットアップでエラーが発生します。「初期化されていない定数 User::Newtweet」
ここで、コントローラーに移動して、コントローラーの次の行を置き換えます。def pull current_user.newtweets.pull_tweets.limit(100) end
と;
def pull
Newtweets.pull_tweets
end
別のエラーが発生します。認証できませんでした
これに関するヘルプは素晴らしいでしょう。