1

我正在尝试为单个模型对象生成脚手架。模型对象有几个字符串属性和几个布尔值。作为我的模型的一部分,我需要一个哈希数组的属性。每个哈希代表一周中的一天,以及开始时间和结束时间。作为 JSON,这就是我的对象的样子:

{
  Name: "John Doe",
  Dept: "Health",
  Office Hours: [
    {
      Day: "Tuesday",
      Start: "10:00AM",
      End: "2:00PM"
    }, 
    { ... }
  isAdjunct: true
}

我不知道我将如何创建它。我显然是 Rails 的新手,我只是想快速把一些东西放在一起。

搭建这种数据模型的最佳方法是什么?我需要两个 ActiveRecord 类吗?我错过了一些重要信息吗?

4

3 回答 3

3

是的,您可能需要两个数据模型;说,PersonOfficeTime(你可能会想到更好的名字!);然后像这样把它们绑在一起:

class Person < ActiveRecord::Base
  # name, dept, adjunct?
  has_many :office_times
end

class OfficeTime < ActiveRecord::Base
  # day, start, end
  belongs_to :person # database has a person_id field
end

查看 Rails 指南中的关系章节以获得更多指导。

于 2013-09-02T08:19:43.677 回答
2

只是为了让您入门,我认为您需要两个模型;人员和可用性与人员 has_may 可用性(注意默认的复数形式)和可用性属于_到人员。

于 2013-09-02T08:20:41.513 回答
0

使用关联......

创建迁移或使用rails g migration add_person_id_to_hours person_id:integer

 class Person < ActiveRecord::Base
    has_many :hours
   end

  class Hours < ActiveRecord::Base
    belongs_to :person 
  end
于 2013-09-02T08:28:13.300 回答