我试图用缩进打印父母和孩子的名字。但我不确定如何在视图中做到这一点。(haml)
我有一个自我加入的模型:(只是为了给你结构,我也有其他属性等,但我认为它们无关紧要)
class Post < ActiveRecord::Base
has_many :children, :class_name => "Post"
belongs_to :parent, :class_name => "Post", :foreign_key => "post_id"
end
所以它有一个层次结构,我想要这样的东西(让我们假设属性'name'):
Post 1
Post 1.1
Post 1.2
Post 2
Post 2.1
Post 2.2
我是Ruby-on-rails的新手。所以请耐心等待。如果我能得到一个解释清楚的答案,我真的很感激。
非常感谢你, Ĵ
答案 0 :(得分:3)
你可以使用递归。创建一个自我调用的部分。
# app/views/posts/_post.html.haml
= post.title
= post.content
= render partial: 'post', collection: post.children
我假设你有一个帖子控制器,它带有一个文件夹,可以在app/views/posts
中查看它的视图。你需要创建一个名为_post.html.haml
的部分调用
本身。 render
行告诉您为每个帖子的子项呈现相同的部分。
缩进可以通过css处理。