根据来自rails中另一个数据库条目的ID定位数据库条目

时间:2013-10-27 20:55:55

标签: sql ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我一直在试图弄清楚我应该如何在我的#savedtweets表中找到“tweet_id”然后在控制器的#newtweets表中找到相同的“tweet_id”,到目前为止试过这样的事情;

CONTROLLER

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

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

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

找到合适的人选。我必须要靠近而不是那里。 :)

1 个答案:

答案 0 :(得分:0)

你可以这样做:

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

您的代码无效的原因是因为Newtweet.where()返回了一个对象数组。它应该是Newtweet.where().first,但Newtweet.find_by_tweet_id是首选方法。