我有一个用于实验的模型,其架构如下所示:
create_table "experiments",id: :serial,force: :cascade do |t|
t.string "name"
t.string "state"
t.jsonb "experiment_conditions"
end
您可以在模式中看到,experiment_conditions是jsonb类型。我希望用户能够随心所欲地命名密钥,并给它提供一个数字(百分数)。
例如:{"control": 10,"variant": 90}
或{"control": 50,"other": 50}
我遇到的问题是视图文件中的表单。 我知道我需要它来遵循这种模式:
<%= form.text_field_tag "experiment[experiment_conditions][name_of_key]",[experiment_value] %>
但是我想不出一种方法,允许用户以rails形式输入嵌套对象的键和值。我考虑过使用茧形宝石,但从外观上看,该宝石仅适用于activeRecord关联模型。无论如何,先谢谢您!
注意:我希望在不使用javascript的情况下找到解决方案