我正在尝试允许参数通过我的控制器获取类型为data
的{{1}}属性,哈希看起来像这样:
jsonb
我让我的表单工作,我可以成功保存数据,但只能用于其中一种语言键。问题正在发生,因为在我的安全参数数组中,我有以下内容:
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"
}
}
我需要能够通过text_customization_attributes: [:id, data: [es: [:activities_text, :playlists_text, :additional_playlists_text]]]
以及en:
以及可能允许的任何其他语言es:
。我天真地想到可能会加入
上面的这一行以及这一行:keys
会工作,但一个会覆盖另一个,只有最后一个允许的参数获胜。
关于我如何通过text_customization_attributes: [:id, data: [en: [:activities_text, :playlists_text, :additional_playlists_text]]]
和es:
的任何想法?
先谢谢!
附录: 我能够使用这个
来保存整个哈希en:
但似乎非常hackish ..必须有更好的方法。
答案 0 :(得分:0)
正如你所说,可能有一些除en
或es
以外的其他键,不知何故,我们必须告诉哪些参数是允许的。在您的情况下,您可以映射到空哈希,如
text_customization_attributes: [:id, data: {}]
但是,它有点脆弱,因为它打开了任意输入的大门。