MST

星途 面试题库

面试题:Ruby on Rails 模型中如何进行数据库的关联查询

在 Ruby on Rails 项目里,假设存在两个模型,一个是 `User` 模型,另一个是 `Post` 模型,一个用户可以发表多篇文章。请写出在 `User` 模型中如何定义与 `Post` 的关联关系,并且阐述如何通过 `User` 实例查询该用户发表的所有文章。
39.2万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试

User 模型中定义与 Post 的关联关系:

class User < ApplicationRecord
  has_many :posts
end

通过 User 实例查询该用户发表的所有文章:

user = User.find(some_user_id)
posts = user.posts

解释:在 User 模型中使用 has_many 来定义关联关系,表示一个 User 可以有多个 Post。当获取到一个 User 实例后,通过调用其 posts 方法,就能获取到该用户发表的所有文章。