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 に答える