0

我一直在挖掘一些试图弄清楚我应该如何在我的#savedtweets 表中找到“tweet_id”,然后从控制器在我的#newtweets 表中找到相同的“tweet_id”,到目前为止我已经尝试过类似的东西这;

控制器

@stweet = Savedtweet.find(params[:id])
@newtweet = Newtweet.where(:tweet_id => @stweet.tweet_id)
@newtweet.status = 'new'
@newtweet.save

基本上我需要根据当前的 Savedtweet ID 将我的 Newtweets 表中的字符串“saved”更改为“new”。我就是想不通。如果我在控制台中执行以下操作;

@stweet = Savedtweet.first @newtweet = Newtweet.where(:tweet_id => @stweet.tweet_id)

它会找到正确的。我必须靠近,只是还没到。:)

4

1 回答 1

0

你可以这样做:

Newtweet.find_by_tweet_id(@stweet.tweet_id).update_attribute(:status, 'new')

您的代码不起作用的原因是因为Newtweet.where()返回了一个对象数组。它应该是Newtweet.where().first,虽然Newtweet.find_by_tweet_id是首选方法。

于 2013-10-27T21:39:08.713 回答