Приложение Rails для детей по дому - PullRequest
0 голосов
/ 27 апреля 2011

Я нуб, пытаюсь сделать свое первое приложение ... чтобы мои дети могли записывать свои дела. Мой вопрос относится к таблицам, которые я мог бы себе представить:

работы по дому (для родителей, чтобы разместить доступные работы по дому и стоимость) дети (у меня трое детей, и каждый из них будет нуждаться в «кредите» за проделанную работу) кошелек (где хранятся домашние дела детей)

я думаю, что это работает ??

но ассоциации выводят меня из себя. Любая помощь будет принята с благодарностью.

Chore
 has_many :kids :through => wallet

Kid
 ??

Wallet
 has_many :kids
 has_many :chores

 wallet contains kid_id and chore_id

1 Ответ

0 голосов
/ 27 апреля 2011

Как насчет этого:

Сначала давайте смоделируем тот факт, что одна работа по дому может быть связана со многими детьми

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

конец

Надеюсь, эта помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...