rabl を jsonapi.org の仕様に準拠させるのに苦労しています。これに関する github の wiki エントリ ( https://github.com/nesquena/rabl/wiki/Conforming-to-jsonapi.org-format ) を見たことがありますが、rabl で複数のルート レベル ノードを取得する方法がわかりません。コレクションが機能します。コレクションに関するウィキエントリは、これが機能するはずだと言っています
collection [@post] => :posts
attributes :id, :title
child @post => :links do
node(:author) { @post.author_id }
node(:comments) { @post.comments_ids }
end
meta
単一のルート ドキュメントの場合はそうですが、jsonapi.org 仕様で宣言されているようにドキュメントのルートにorを追加しようとするとすぐにlinks
、それらのノードが既存のコレクション ノードに追加されます。ここに私の rabl_init.rb があります
require 'rabl'
Rabl.configure do |config|
config.cache_sources = Rails.env != 'development'
config.include_child_root = false
config.include_json_root = false
end
次のようなjsonが欲しいです:
{
"links": {
"posts.comments": "http://example.com/posts/{posts.id}/comments"
},
"posts": [{
"id": "1",
"title": "Rails is Omakase"
}, {
"id": "2",
"title": "The Parley Letter"
}]
}
ラブルはこれを行うことができますか?