环境 Mac OS X. Rails 4.0.4 Ruby 2.1.1
宝石: simple_form
创建一个带有json类型字段的模型,这里是我的迁移文件:
create_table :my_model do |t|
t.string :name
t.json :my_field
t.timestamps
end
现在,当我尝试创建一个新对象(新表单)时,我收到此错误
RuntimeError - No input found for json:
simple_form (3.0.2) lib/simple_form/form_builder.rb:551:in `find_mapping'
simple_form (3.0.2) lib/simple_form/form_builder.rb:482:in `find_input'
simple_form (3.0.2) lib/simple_form/form_builder.rb:111:in `input'
我猜测simple_form没有很好地处理JSON类型,我真的不知道如何解决这个问题(使用simple_form的新手)。
希望你能帮忙
答案 0 :(得分:7)
simple_form,本身不支持JSON
类型。但事实证明,JSON是基于文本的数据格式,你可以简单地使用textarea来输出json。
<%= f.my_field, as: :text %>
这应该可以正常工作
答案 1 :(得分:1)
不要忘记逗号<%= f.input, as: :text %>
答案 2 :(得分:0)
您还可以在初始值设定项中添加以下行来定义自定义输入映射。
SimpleForm::FormBuilder.map_type :json, to: SimpleForm::Inputs::TextInput