Я использую драгоценный камень RABL для отображения пользовательских данных JSON для пользователей комментариев, которые являются дочерними элементами аннотаций, которые являются дочерними элементами изображений. Я хотел бы сделать что-то подобное:Rails 3.1 глубокое вложение с RABL
object @image
node :annotations do
@image.annotations.map { |a| {
:id => a.id,
:x1 => a.x1,
:x2 => a.x2,
:y1 => a.y1,
:y2 => a.y2,
node :comments do
@image.annotations.comments.map { |c| {
:body => c.body,
:user_id => c.user_id,
:name => User.find(c.user_id).name,
:user_icon => user_icon(User.find(c.user_id), 'square', 30)
}}
end
}}
end
Я знаю, это не действует в RABL, я также попытался использовать ребенок вместо узла, но не могу получить доступ пользовательских данных таким образом. Как я должен это делать и что такое правильный синтаксис, чтобы это произошло?
+1. этот способ создания хеша в блоке сохраняет пару строк, но это несколько запутывает (и унииоматично). Я собирался обновить его, но я думаю, это не так уж плохо. – tokland