RABL - 通配符包含所有属性

时间:2016-04-20 21:17:08

标签: ruby-on-rails ruby rabl

是否可以在RABL模板中使用某种通配符来回退模型的所有可访问属性而不必指定每个属性?

作为示例,RABL文档显示了类似下面的内容,它会带回:id, :title, :subject属性。

# app/views/posts/index.rabl
collection @posts
attributes :id, :title, :subject
child(:user) { attributes :full_name }
node(:read) { |post| post.read_by?(@user) }

我想改为做

之类的事情
# app/views/posts/index.rabl
collection @posts
attributes *
child(:user) { attributes :full_name }
node(:read) { |post| post.read_by?(@user) }

并将其赋予:id, :title, :subject, :author, :etc

1 个答案:

答案 0 :(得分:1)

你应该能够做到这一点......

attributes *Post.column_names

Model.column_names返回所有列的数组,前面的星号将其转换为逗号分隔的参数。