0

jBuilder を使用して、javascript 関数に必要な構造であるカスタム配列を作成しようとしています。この場合、配列内のオブジェクトは 1 つだけです。メソッドは認識してarray!いますが、コレクションを使用する必要があります。jbuilder にオブジェクトを配列でラップさせるにはどうすればよいですか? 私が探している構造を以下に示します。

object = {
  customArray : [{ someKey : 'somevalue' }]
}
4

1 に答える 1

2

これがあなたが求めているものかどうかはわかりませんが、できることは次のとおりです。

x = { :someKey => 'somevalue' }
Jbuilder.encode do |json|
  json.customArray Array.wrap(x)
end

Array#wrapによって提供されActiveSupport、アイテムを配列でラップします (配列でない場合)。Hashまた、他のメソッドのように壊れることもありません (例: Array(x)x.to_a[*x])。

于 2013-07-12T21:53:21.650 に答える