Rails协会为孩子们做家务

时间:2011-04-26 22:46:10

标签: ruby-on-rails

我是一个努力尝试制作我的第一个应用程序的菜鸟......允许我的孩子记录他们的家务。我的问题与我可能想到的表格有关:

家务(父母可以发布可用的杂务和价值) 孩子们(我有3个孩子,他们每个人都需要完成工作的“信用”) 钱包(存放孩子们做的家务活动)

我猜这是有效的吗?

但这些协会让我感到困惑。任何帮助将不胜感激。

Chore
 has_many :kids :through => wallet

Kid
 ??

Wallet
 has_many :kids
 has_many :chores

 wallet contains kid_id and chore_id

1 个答案:

答案 0 :(得分:0)

这个怎么样:

首先让我们模拟一件家务可以与很多孩子联系的事实

Kid:
  has_many :kid_chore
  has_many :chores, :through=>:kid_chore

KidChore: 
  belongs_to :kid
  belongs_to :chore

Chore:
  has_many :kid_chore
  has_many :kid, :through=>:kid_chore

如果您愿意,可以使用电子钱包作为KidChore表的名称。

第二项每项工作已完成或未完成

class Chore < ActiveRecord::Migration
  def self.up
    create_table :chore do |t|
      t.string   :name
      t.date     :start_date
      t.date     :end_date
      t.string   :status  # done or not done

      #...all the field that you like

      t.timestamps
    end

  end

def self.down     drop_table:家务活   结束 结束

现在你想要了解每个孩子做了多少苦差事

class KidChore < ActiveRecord::Migration
  def self.up
    create_table :kid_chore do |t|
      t.integer :kid_id
      t.integer :chore_id
      t.integer   :percentage_done  # done or not done
      #...all the field that you like
      t.timestamps
    end

  end

  def self.down
    drop_table :kid_chore
  end

结束

希望得到这个帮助。