Ruby on Rails,数据表。一个用户的多个记录

时间:2013-05-04 08:38:36

标签: ruby-on-rails database

我对在表格中创建和插入数据感到困惑。

例如,我有user-table,其中保存了所有用户。付款表应保存用户A的所有付款。付款不会更新。一旦用户A注册,他就会填写一份表格,在那里他输入付款并保存,仅此而已。 (我知道这听起来很奇怪,但我的数据库是基于文件的统计分析。一旦加载文件,分析就完成了,分析中的数据(简单数字)必须存储。所以pro文件大约有1000个数字存储,什么都不会更新)。引用键是用户的id。 所以,它应该是这样的:

class PaymentsTable < ActiveRecord::Migration
  def change
    create_table :payments do |t|
      t.integer :user_id
      t.float   :sum
    end
  end
end

我的问题是,我不明白如果我指定了t.float,我只能保存用户A的10个支付者:只有一次总和。

提前致谢

1 个答案:

答案 0 :(得分:0)

您想要输入用户所做的每笔付款,并且您希望将这些付款相加,那么您当前的方式是错误的。

你可以创建这样的付款表,

类PaymentsTable&lt; ActiveRecord的::迁移
def change     create_table:付款做| t |
      t.integer:user_id
      t.float:金额
    结束
    结束

所以,如果您按照

之类的查询对此金额列求和

user_payment = Payment.where(:user_id =&gt; params [:user_id))。first.sum(&amp;:amount)