Sql 根据rails中另一个数据库项的ID定位数据库项

Sql 根据rails中另一个数据库项的ID定位数据库项,sql,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Sql,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,我一直在想我应该如何在我的savedtweets表中找到“tweet_id”,然后在我的newtweets表中从控制器中找到相同的“tweet_id”,到目前为止,我已经尝试过类似的方法 控制器 基本上,我需要根据当前Savedtweet ID将newweets表中的字符串“saved”更改为“new”。我就是想不出来。如果我在控制台中执行以下操作 @stweet=Savedtweet.first @newtweet=newtweet.where(:tweet\u id=>@stweet.twe

我一直在想我应该如何在我的savedtweets表中找到“tweet_id”,然后在我的newtweets表中从控制器中找到相同的“tweet_id”,到目前为止,我已经尝试过类似的方法

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

@stweet=Savedtweet.first @newtweet=newtweet.where(:tweet\u id=>@stweet.tweet\u id)

它找到了正确的一个。我必须离得很近,只是还没到那里。:)

你可以做:

Newtweet.find_by_tweet_id(@stweet.tweet_id)。更新属性(:status,'new')


代码无法工作的原因是
Newtweet.where()
返回一个对象数组。它应该是
Newtweet.where()。尽管
Newtweet.find\u by\u tweet\u id
是首选方法

嘿,谢谢!几分钟后,我发现这在@newtweet=newtweet.where(:tweet\u id=>@stweet.tweet\u id).update\u all(:status=>'new')。。。不过,我确实认为您的方法比通过更新所有内容要好得多。再次感谢@user2419316很高兴为您提供帮助!对不起,我已经投入生产,现在已经停止工作了。除此之外,我在日志中没有发现任何错误;ActionController::RoutingError(没有与[GET]“/dashboards\U controller/create]匹配的路由):。。。。不确定这是否相关。有什么想法吗?@user2419316恐怕没有关系。我建议发布一个包含更多细节的新问题,以获得更多有用的反馈。错误告诉我你的
路线有问题。rb
。明白了,刚刚发布了另一个类似于find_by_tweet_id的问题,再次感谢你在这方面的帮助。
@stweet = Savedtweet.find(params[:id])
@newtweet = Newtweet.where(:tweet_id => @stweet.tweet_id)
@newtweet.status = 'new'
@newtweet.save