ruby-on-rails – 存储动态表单中的数据
发布时间:2020-12-17 01:29:11 所属栏目:百科 来源:网络整理
导读:我正在研究动态表单生成器.有人可以创建如下字段:字符串,文本,布尔值,数字,文件等. 是否存在用于存储来自此类动态表单的数据的宝石或指南? 我的意思是我可以为每种数据类型创建多个表,或者我可以将它们全部存储为TEXT,其中包含应转换的标志类型. UPD 或者
我正在研究动态表单生成器.有人可以创建如下字段:字符串,文本,布尔值,数字,文件等.
是否存在用于存储来自此类动态表单的数据的宝石或指南? 我的意思是我可以为每种数据类型创建多个表,或者我可以将它们全部存储为TEXT,其中包含应转换的标志类型. UPD 或者我最好在这里使用nosql? 解决方法
我相信
Mongodb是这个应用程序的正确选择,因为它不强制执行任何模式,它是任意数据的一个很好的选择.
同样,它确实支持您所期望的所有数据类型.这很容易. 有一个看起来像这样的表单集合(Ruby Mongoid代码) class XForm include Mongoid::Document include Mongoid::Timestamps include Mongoid::Paranoia field :name,:type => String field :user,:type => BSON::ObjectId embeds_many :formfields end 和 class Formfields include Mongoid::Document field :name,:type => String field :kind,:type => String #field :value,:type => String -> dont add it in formfields,make it dynamic sine the type varies embedded_in :xform end 要将值字段添加为动态字段,您需要在mongoid.yml中启用allow_dynamic_fields:true 并创建一个这样的新领域 form = XForm.new(:name=>'test form',:user => current_user.id) #for integer field form.formfields << Formfields.new(:name => "Age",:kind=>"Integer",:value => 21) #for bool field form.formfields << Formfields.new(:name => "isMarried",:kind=>"Boolean",:value => true) #for string field form.formfields << Formfields.new(:name => "name",:kind=>"String",:value => "ram") 希望这可以帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容