显示推文和转推时的区别
Making the difference between a tweet and a retweet when showing them
  我目前正在实现一个类似于 Twitter 的 Web 应用程序。在我的 Twitter 应用程序中,我有一个动作 'retweet',它显然也在真实的 Twitter 中。
我是怎么想到实施它的?
我将有一个包含以下列的模型:
- 1。 retweeted_tweet_id(转发了哪条推文)
- 2。 who_user_id(转发者)
- 3。 retweeted_at(转发时间)
  一切顺利。当我必须 return 所有推文时,我只需要使用“+”连接 2 个数组(一个包含推文,一个包含转推)。此操作将按时间顺序显示推文,但我无法添加 "retweeted by username",除非我按 tweet_id 和 retweeted_at 时间(推文的时间! = retweeted_at_time) 以实际确认该推文是转推。在确认这是转推后,我添加了“这个 post 被用户名
转推了
  这让我想到了我的问题:有没有更简单的方法来做到这一点?我想不出使用这个模型的任何其他方法。 有没有更高效的模型?
您需要使用 .joins
或 .include
来获取您的转推,这样最终您将得到 ActiveRecord
collection,而不是 Array
.
这意味着您可以获得 retweeted_by_username
而无需再次获取数据库,因为记录已经加载。
我们可以采取其他方式,选择将推文和转推存储在同一个 table 中,字段名为 original_tweet_id,这样您就可以解决当前的问题,而且更容易您向转推添加任何文本,您可以将其作为推文文本存储在记录中。稍后你只是检查 original_tweet_id 来验证这是转推还是否。
  我目前正在实现一个类似于 Twitter 的 Web 应用程序。在我的 Twitter 应用程序中,我有一个动作 'retweet',它显然也在真实的 Twitter 中。
我是怎么想到实施它的?
我将有一个包含以下列的模型:
- 1。 retweeted_tweet_id(转发了哪条推文)
- 2。 who_user_id(转发者)
- 3。 retweeted_at(转发时间)
  一切顺利。当我必须 return 所有推文时,我只需要使用“+”连接 2 个数组(一个包含推文,一个包含转推)。此操作将按时间顺序显示推文,但我无法添加 "retweeted by username",除非我按 tweet_id 和 retweeted_at 时间(推文的时间! = retweeted_at_time) 以实际确认该推文是转推。在确认这是转推后,我添加了“这个 post 被用户名
转推了  这让我想到了我的问题:有没有更简单的方法来做到这一点?我想不出使用这个模型的任何其他方法。 有没有更高效的模型?
您需要使用 .joins
或 .include
来获取您的转推,这样最终您将得到 ActiveRecord
collection,而不是 Array
.
这意味着您可以获得 retweeted_by_username
而无需再次获取数据库,因为记录已经加载。
我们可以采取其他方式,选择将推文和转推存储在同一个 table 中,字段名为 original_tweet_id,这样您就可以解决当前的问题,而且更容易您向转推添加任何文本,您可以将其作为推文文本存储在记录中。稍后你只是检查 original_tweet_id 来验证这是转推还是否。