无法更新ID数组

时间:2015-03-18 13:31:20

标签: ruby-on-rails

嘿所以我正在制作一个基本上可以找到推文并收藏它们的程序。

它成功地支持Twitter上的推文,但是没有更新我试图改变的布尔值。

not_favorited = self.favorites.all.where(:favorited => false)
not_favorited_ids = not_favorited.map(&:id)
tweet_ids = not_favorited.map(&:tweet_id)
self.twitter.favorite!(tweet_ids) && self.favorites.not_favorited_ids.update_all(:favorited => true)

有人知道我在这里做错了什么以及如何成功保存这些?还有更好的方法来写这个吗?

2 个答案:

答案 0 :(得分:1)

not_favorited = self.favorites.all.where(:favorited => false) 
not_favorited_ids = self.favorites.where(:favorited => false).pluck(:id) 
puts "start debug =-)" 
tweet_ids = not_favorited.map(&:tweet_id) 
puts "self.fav #{self.favorites.where(id: not_favorited_ids).first}" 
Favorite.where(id: not_favorited_ids).update_all(:favorited => true) 
self.twitter.favorite!(tweet_ids)

编辑,立即尝试 - 然后从控制台显示结果

答案 1 :(得分:1)

试试这个

not_favorited = self.favorites.all.where(:favorited => false)
not_favorited_ids = not_favorited.map(&:id)
tweet_ids = not_favorited.map(&:tweet_id)
self.twitter.favorite!(tweet_ids) 
Favorite.where(id: not_favorited_ids).update_all(favorited: true)