Ruby on rails 带有用户输入键值的嵌套对象的Rails表单

Ruby on rails 带有用户输入键值的嵌套对象的Rails表单,ruby-on-rails,ruby,ruby-on-rails-5,simple-form,erb,Ruby On Rails,Ruby,Ruby On Rails 5,Simple Form,Erb,我有一个实验模型,模式如下: create_table "experiments", id: :serial, force: :cascade do |t| t.string "name" t.string "state" t.jsonb "experiment_conditions" end 正如您在模式中看到的,实验条件是类型jsonb。我希望用户能够根据自己的需要命名密钥,并给它一个数字(100的百分比) 例如:{“控制”:10,“变量”:90}或{“控制”:50

我有一个实验模型,模式如下:

create_table "experiments", id: :serial, force: :cascade do |t|
    t.string "name"
    t.string "state"
    t.jsonb "experiment_conditions"
end
正如您在模式中看到的,实验条件是类型jsonb。我希望用户能够根据自己的需要命名密钥,并给它一个数字(100的百分比)

例如:
{“控制”:10,“变量”:90}
{“控制”:50,“其他”:50}

我遇到的问题是视图文件中的表单。 我知道我需要它遵循以下模式:

<%= form.text_field_tag "experiment[experiment_conditions][name_of_key]", [experiment_value] %>

但我无法找到一种方法,允许用户在rails表单中同时输入嵌套对象的键和值。我考虑过使用cocoon gem,但从外观上看,该gem仅适用于与ActiveRecord关联的模型。无论如何,先谢谢你


注意:我希望在不使用javascript的情况下找到一个解决方案。用户是否必须能够一次创建多个密钥?是的。他们需要至少有两个变体[“Control”,“Variant”]或[“Control”,“a”,“b”]你真的那么喜欢JSON列吗?这听起来像是可以通过添加一个单独的实验条件表来实现的,该表具有多个关联,并且
接受嵌套的属性\u:experiment\u conditions
@max我也在想同样的事情。它实际上是我正在研究的东西的现有数据结构。可能别无选择,只能将其拆分为单独的表将其整体拆分可能是积极的,因为它提供了某种模式。