Frage beantwortet meine Frage teilweise. Der Autor verwendet eine ähnliche JSON-Struktur.Rails 4 verschachtelte Array in verschachtelten Objekt in starken Parametern
Meine Frage: Wie verschachtelte Arrays in einem verschachtelten Objekt zulassen? Ich habe ein Contribution
Modell mit has_many
Features
. Ich versuche GeoJSON Polygone zu erstellen. Die coordinates
bleibt leer
Dies ist die JSON Ich bin Senden
{
"contribution": {
"features_attributes": [
{
"geojson": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
7.263336181640625,
52.07190953840937
],
[
7.263336181640625,
52.135173926548894
],
[
7.404785156249999,
52.135173926548894
],
[
7.404785156249999,
52.07190953840937
],
[
7.263336181640625,
52.07190953840937
]
]
]
}
}
}
],
"title": "324",
"description": "23"
}
}
Derzeit meine Erlaubnis Code wie folgt aussieht:
params.require(:contribution).permit(
:title,
:description,
features_attributes: [
{ geojson: [
:type,
{ geometry: [
:type,
#{ coordinates: [] } # this works for arrays like coordinates: [ 7.62, 51.96 ]
{ coordinates: [[]] }
]
}
]
}
]
)
Warum verwenden Sie einen Hash für 'Geojson'? Sicher würden Sie 'features_attributes verwenden: [Geojson: [' anstelle von 'features_attributes: [{}' –
Ich testete Ihren Vorschlag, es macht keinen Unterschied. Ich denke Ruby erkennt, dass 'Geojson' ein Hash ist. Die geschweiften Klammern sind nur für mich :) – ubergesundheit
Huch! Ich gebe zu, dass die angenommene Antwort funktioniert. Aber es scheint wie ein Workaround. Weiß jemand, ob die Kern-API diese Funktionalität in irgendeiner Weise unterstützt? –