我正在尝试从rails控制台查看嵌套记录。
我有子文章嵌入文章。换句话说,子文章属于文章,文章有许多子文章。
我从控制台尝试了类似Article.subarticle.all
的内容,但这不起作用。
最好的方法是什么?
答案 0 :(得分:4)
如果您要查看所有subarticles
到一个特定Article
,只需将其分配给变量:
a = Article.find(1)
- 这将为文章分配id = 1
然后致电:
a.subarticles
- 这会显示与您的subarticles
Article
答案 1 :(得分:3)
我认为joins
正是您所寻找的:
Article.joins(:subarticles)
将生成以下SQL:
SELECT "articles".* FROM "articles" INNER JOIN "subarticles" ON "subarticles"."article_id" = "article"."id"
另一种选择是通过其子文章简单地map
所有文章:
Article.all.map(&:subarticles)
它将返回article_id
不为空的所有子粒子的关系。
答案 2 :(得分:0)
为了能够呼叫Article.subarticle.all
,您需要在文章模型中定义关联。
class Article < ActiveRecord::Base
has_many :subarticles
...
end