我对rails很新,我尝试使用带有postgresql的rails找到答案,但也许我认为它错了或在错误的地方搜索。所以这里是
让我们说我想做一个跟踪用户生活习惯(消费,储蓄等)的应用程序
我是否会执行以下操作:
用户模型 - 电子邮件,密码生活方式 - 食物,花费的金额 食品,运输,运输费用,账单,花费的金额 账单等....
用户模型 - 电子邮件,密码Lifestyle_food模型 - 花费的金额, 位置等Lifestyle_transport模型 - 花费的金额,类型 运输等模型
对于上述情况,我想允许用户输入他们的每日支出,我认为每个用户每年会产生数千个条目。关于模型规划,我不确定应该采用哪条路线,这将导致未来的最小问题。
情况A:将导致一个包含大量列的表格,如果用户想要指出他或她的消费习惯,我不确定这是否是搜索的最佳方式(通过几次查看视图)
情境B:会产生大量模型,但每个模型的列数都会更少。
我应该如何在rails中定义模型和数据库?
互联网上似乎没有太多关于如何进行规划和考虑因素(可能需要专业人员)的材料,但对于像我这样的新手,我该怎么办?
答案 0 :(得分:0)
尽管我同意这个问题与RoR完全无关,但我会回答我的意见 - 因为这是一个意见
User
has_many:
Months
month_index:integer:index YYYYMM (201706)
daily_hash:jsonb
{ 01: { food_expenditures: [ { amount: 24453, name: 'big mac', random_keys: with_whatever }, { rinse and repeat } ], travel_expenditures : [ same ], ... }, 02: { ... } }
这将允许您每年有12个记录*用户,在整数列上建立索引。所以允许user.month.find_by(month_index:201704).daily_hash [' 02'] [' food_expenditures']
这会带来一些问题吗?是的,但它解决了许多其他问题。