34、用户关注与状态动态功能实现

用户关注与状态动态功能实现

1. 状态动态的动机与策略

状态动态背后的基本思想很简单,其目的是从数据库中提取当前用户所关注的用户(以及用户自身)发布的微博。为了实现这一功能,我们计划实现一个名为 from_users_followed_by 的方法,使用方式如下:

Micropost.from_users_followed_by(user)

在实现该方法之前,我们可以先为其功能编写测试。状态动态需要满足三个要求:
- 关注用户的微博应包含在动态中。
- 用户自身的微博应包含在动态中。
- 未关注用户的微博不应包含在动态中。

以下是状态动态的最终测试代码:

# spec/models/user_spec.rb
require 'spec_helper'
describe User do
  describe "micropost associations" do
    before { @user.save }
    let!(:older_micropost) do
      FactoryGirl.create(:micropost, user: @user, created_at: 1.day.ago)
    end
    let!(:newer_micropost) do
      FactoryGirl.create(:micropost, user: @user, created_at: 1.hour.ago)
    end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值