如果类型是哈希{m 44},如何为mongoid创建表单构建器元素

时间:2016-09-11 03:37:46

标签: ruby-on-rails mongoid

我有一个名为Case的类,它有一个名为data的字段,其类型为Hash。数据有多个级别:

class Case
     include Mongoid::Document

     field :data, type: Hash
...
end

假设案例的数据是普通的旧数据哈希,例如:

"data": {"DOB": "10/19/1990",..

此外,假设它有多个级别:

"data": {"DOB": "10/19/1990",.., "preferences": {"best time to call": "9:00am"...

如何设置文本输入,让我设置一个子属性?这不起作用:

<%= f.text_field :data["preferences"]["best time to call"]

希望上面的代码说明了我想要实现的目标。挑战在于嵌套属性不是完整的模型,它们只是哈希节点,因此通常的fields_for不起作用。

感谢您的帮助, 凯文

1 个答案:

答案 0 :(得分:0)

您应该尝试将表单元素助手编写为:

<%= f.text_field 'data[preferences][best time to call]'