我正在Angular.js上阅读这个tutorial,我试图在带有Mongoid的Ruby on Rails上实现这个目的。
在本教程中,数据存储在.json
个文件中,遵循此格式(仅为图片的一部分):
{
"additionalFeatures": "MOTOBLUR-enabled; battery manager; seven home screens; customize by moving or resizing widgets; Android HTML WebKit w/Flash Lite; BACKTRACK\u2122 navigation pad behind screen",
"android": {
"os": "Android 2.1",
"ui": "MOTOBLUR"
},
"availability": [
"T-Mobile,",
"Telus"
],
"battery": {
"standbyTime": "267 hours",
"talkTime": "5 hours",
"type": "Lithium Ion (Li-Ion) (1170 mAH)"
},
我的问题如下:
我知道我可以为“android”键创建另一个模型(依此类推),它包含两个字段的哈希值“os”和“ui”。这些字段始终相同。但是,我认为这有点矫枉过正。我想在主模型中添加它们(让我们称之为“Phone”)会更有效,即避免使用embedded_in,embeds_one与其他模型的关系。
有没有办法在不使用其他模型的情况下实施embeds_one
或embeds_many
功能?
类似的东西(不正确,但要指出):
field :additionalFeatures, type: String
field :android do
field :os, type: String
field :ui, type: String
end
答案 0 :(得分:0)
如何将Hash
用作字段类型:
field :android, type: Hash, :default => {os: '',ui: ''}