4

多くの投稿があるユーザーモデルがあります。投稿をrablコレクションにレンダリングしようとしています。

collection @posts
attributes :title, :created_at

jsonコレクションをレンダリングするためのデフォルトのrabl形式はです {'posts': ['post':{}, 'post':{}]}。私が達成しようとしているのは、たとえば「post」キーを動的な値のpost idに変更して、私の形式が次のようになるようにすること{'posts':[1:{}, 2:{} ]}です。Rablの構成を試していましたが、私が見つけたのは、コレクションキーを削除する方法だけです。

Rabl.configure do |config|
  config.include_json_root = false
end
4

1 に答える 1

8

RABLは現在これをネイティブにサポートしているとは思いませんが、RABLはルビーコードベースの糖衣構文にすぎないため、ループを使用して自分でこれを行うことができるはずです。

たとえば(私はこれを試していませんが、一般的な要点を理解する必要があります):

collection @posts

@posts.each do |post|
  node(post.id.to_sym) {{ title: post.title, created_at: post.created_at }}
end
于 2012-06-21T14:57:26.303 に答える