当我尝试在我的Twitter Feed控制器中调用tweet.entities时,出现了以下错误:
private method `entities' called for #Twitter::Status:0x94d4bf4
在我的代码中没有任何名为entities的方法,我甚至进行了全文搜索以检查。
我需要重命名对象中的entities部分或者找到所谓的私有方法在哪里,或者绕过它。我的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。
编辑:另一个需要注意的要点是我曾经拥有一个实体模型和实体控制器,但已将它们删除,仍然会出现这种情况。
谢谢