Twitterフィードコントローラーでtweet.entitiesを呼び出そうとすると、次のエラーが発生します。
プライベートメソッド`entities'が#Twitter::Status:0x94d4bf4を呼び出しました
コード内にエンティティと呼ばれるメソッドはありません。完全なファイル検索を行って確認しました。
オブジェクトのエンティティ部分の名前を変更するか、このいわゆるプライベートメソッドがどこにあるかを見つけるか、何らかの方法でそれを迂回する必要があります。twitter_feedsコントローラー内の私のメソッドは次のとおりです。
def hometimeline
@user = User.find(current_user.id)
tweets = @user.tweeting.user_timeline(count: '10', include_entities: true)
parsed_tweets = []
i = 0
tweets.each do |tweet|
more = Hash.new
more['test'] = tweet
internal_hash = Hash.new
mappings = {"source" => "fixed"}
another = more['test']
boo = Array(tweet)
#newhash = Hash[twee.map {|k, v| [mapping[k], v] }]
#newhash = Hash[more.map {|k, v| [mappings[k], v] }]
#newhash = Hash[tweet.map {|k, v| [mappings[k] || k, v] }]
internal_hash['parsed_text'] = tweet.entities
internal_hash['id'] = tweet.id
internal_hash['raw_text'] = tweet.text
internal_hash['name'] = tweet.user.name
internal_hash['screen_name'] = tweet.user.screen_name
internal_hash['user_id'] = tweet.user.id
internal_hash['user_image_url'] = tweet.user.profile_image_url
parsed_tweets << internal_hash
i = i + 1
end
respond_to do |format|
format.json { render json: parsed_tweets }
end
終わり
基本的に、解析されたツイートのセットをクライアントに送信しており、サーバーでリンクラッピングなどを実現したいと考えています。
コードがこのメソッドをどこにあると見なすかを見つける方法はありますか、それとも非公開にしないか無視してtweet.entitiesを呼び出す方法はありますか?
編集:注意すべきもう1つのポイントは、エンティティモデルとエンティティコントローラーがありましたが、それらを削除しても、これを取得していることです。
ありがとう