《Ruby on Rails 教程》第 14 章

242 阅读1分钟

关注用户

Relationship 模型

bin/rails generate model Relationship follower_id:integer followed_id:integer
bin/rails db:migrate

并添加索引

关联 User 模型和 Relationship 模型

添加种子数据

bin/rails db:migrate:reset
bin/rails db:seed

界面

添加路由

添加界面

关注按钮功能

控制器

bin/rails generate controller Relationships

关注按钮的 Ajax 实现方式

没实现。。。

动态流

编辑 app/models/user.rb

class User < ApplicationRecord
.
.
.
# 返回用户的动态流
def feed
  following_ids = "SELECT followed_id FROM relationships
                   WHERE follower_id = :user_id"
  Micropost.where("user_id IN (#{following_ids})
                   OR user_id = :user_id", user_id: id)
end
.
.
.
end

结合了 Rails、Ruby 和 SQL 的优势

代码