ruby on rails - Accepts nested attributes safe params with jsonb and variable keys -
i attempting allow parameters go through controller data attribute of type jsonb, hash looks so:
data: { "en" => { "activities_text" => "activities", "playlists_text" => "playlists", "additional_playlists_text" => "additional playlists" }, "es" => { "activities_text" => "actividades", "playlists_text" => "lista de actividades", "additional_playlists_text" => "listas de actividades adicionales" } } i got form work , i can save data 1 of language keys. issue happening because in safe params array have following:
text_customization_attributes: [:id, data: [es: [:activities_text, :playlists_text, :additional_playlists_text]]]
i need able allow through both en: es: , potentially other language keys may add in future. naively thought maybe adding both line above this: text_customization_attributes: [:id, data: [en: [:activities_text, :playlists_text, :additional_playlists_text]]] work 1 overrides other , last permitted param wins.
any thoughts on how let through both es: , en: ?
thanks in advanced!
addendum: able save whole hash using
text_customization_attributes: [:id, data: [en: [:activities_text, :playlists_text, :additional_playlists_text], es: [:activities_text, :playlists_text, :additional_playlists_text]]] but seems hackish.. there must better way.
as said, there may keys other en or es, somehow, must tell parameters permitted. in case, can map empty hash like,
text_customization_attributes: [:id, data: {}] but, bit vulnerable opens door arbitrary input.
Comments
Post a Comment