当列类型为JSON时,Rails simple_form创建表单

sty*_*own 5 ruby-on-rails simple-form simple-form-for

我有一个FooBar带有三列的model():

Foo -> String
Bar -> JSON
Baz -> String
Run Code Online (Sandbox Code Playgroud)

我想为这个模型创建一个表单

Bar具有以下默认属性: {zing: {}, zaz: {}, laz: {}}

我想有以下输入:

f.input :foo
f.input :zing
f.input :zaz
f.input :laz
f.input :baz
Run Code Online (Sandbox Code Playgroud)

我尝试使用fields_for并传入每个键并将其转换为符号:

bar.each do |k,v|
f.input k.to_sym
end
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是FooBar有未定义的方法:zaz

任何想法将不胜感激,谢谢.

Ing*_*ers 3

你应该能够这样做:

f.simple_fields_for :bar do |bar_f|
  bar.each do |k,v|
   bar_f.input k.to_sym
  end
end
Run Code Online (Sandbox Code Playgroud)

不要忘记允许控制器中的参数。