has_many:一对多的关联

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

文章属于一个用户,这是一个一对一的关联,用的是 belongs_to .. 对于用户来说,它可以拥有多个文章,这是一个一对多的关联 ... 我们可以使用 has_many 去描述一下这个关系 ...

打开用户模型 .. 在它的里面用一下 has_many ... 有多个 :posts ,注意这里用的是一个复数形式 .. 保存一下 ..

先退出 rails 的控制台 .. 再登录一下 ...

然后找到 id 号是 1 的用户 ... 使用 User 模型的 find 方法 ... 把 id 号交给它 ..

user = User.find(1)

使用一下 user 的 posts .. 会显示跟这个用户相关的所有的文章 ... 查看一下相关的文章的数量 ...

现在是 1 ...

再去创建一个文章 ... 设置一下它的标题 ... 让这个文章也属于 id 号是 1 的这个用户 ..

Post.create(title: "learn to code", user_id: 1)

重新再找到 id 号是 1 的这个用户 ...

再查看一下这个用户拥有的所有的文章的数量 user.posts ... 现在有两个文章跟这个用户相关 ..

返回的东西是一个集合 .. 我们可以用一下 each 方法 ... 给它一个代码块 ... 添加个参数 p ,表示文章 .. . 输出文章的 title 属性 ..

user_1.posts.each do |p| p p.title end

这样里会显示这个用户拥有的所有的文章的标题 ...

has_many:一对多的关联《 Rails:关联 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点