如何在Ruby on Rails中深入访问两个级别的模型?

时间:2016-09-03 04:43:04

标签: ruby-on-rails ruby-on-rails-4 model

我正试图在rails中深入两级嵌套模型。

例如,尝试使用.count方法访问用户对其博客帖子的所有喜欢。

正在运行fromState会返回每位用户的正确帖子数。

但是,

正在运行@user.posts.count会返回错误:'未定义的方法喜欢'。

有谁知道如何深入访问两个级别的模型?

2 个答案:

答案 0 :(得分:0)

@user.posts会返回一个数组 而且你不能通过数组调用关联

尝试

@user.posts.map(&:likes).flatten.count

答案 1 :(得分:0)

这是因为您的用户有很多帖子,每个帖子都有很多喜欢。 所以@user.posts.likes.count肯定会给你错误。 不过,您可以通过找到一个帖子然后找到该帖子的来实现。 Post和Like之间的模型关系应该是一对多。这意味着一个帖子有很多喜欢。