Ruby on rails 如何使用ActiveRecord';是否使用哈希数组序列化?

Ruby on rails 如何使用ActiveRecord';是否使用哈希数组序列化?,ruby-on-rails,serialization,activerecord,simple-form,Ruby On Rails,Serialization,Activerecord,Simple Form,在我的model Post.rb中,我调用了serialize:factscall。 我试图做到的是,用户可以将自己的键/值对保存到facts列中。当用户打开/posts/new页面时,我希望有三个空键值输入。然后,用户可以填写如下值: [color ]: [very blue ] [length of the street ]: [not that long ] [etcetera ]: [etcetera ] 为了构建

在我的model Post.rb中,我调用了
serialize:facts
call。 我试图做到的是,用户可以将自己的键/值对保存到
facts
列中。当用户打开/posts/new页面时,我希望有三个空键值输入。然后,用户可以填写如下值:

[color                ]: [very blue     ]
[length of the street ]: [not that long ]
[etcetera             ]: [etcetera      ]
为了构建表单,我正在使用Simple form gem,并且已经尝试使用它

= f.simple_fields_for :facts do |ff|
  = f.input :key
  = f.input :value
它只生成一个键/值,并以YAML格式很好地保存在“事实”字段中!但是,当我尝试添加数组时,它不起作用。它只保存最后一个键/值对

我知道问题是什么,但不知道如何解决


我需要一些可以生成输入字段的东西,这些字段的值如下:
post[facts][[key]
post[facts][[value]
。现在它只生成三个
post[facts][key]
post[facts][value]
输入。

您是否尝试将空对与集合中的现有元素合并?

您是否尝试将空对与集合中的现有元素合并?

您解决了这个问题吗?@RuanCarlos可能我解决了它,但我真的不记得怎么做了。这已经是三年前的事了:)您可以尝试在模型中编写自定义序列化程序。这个序列化程序可以将所有“key”字段解析为散列键,将所有“value”字段解析为与键对应的散列值。谢谢Ivan。我手动创建了表单。你解决了这个问题吗?@RuanCarlos可能是我解决的,但我真的不记得是怎么解决的。这已经是三年前的事了:)您可以尝试在模型中编写自定义序列化程序。这个序列化程序可以将所有“key”字段解析为散列键,将所有“value”字段解析为与键对应的散列值。谢谢Ivan。我手动创建了表单。