Rails - 每个ID或一个表的表是一个表吗?

时间:2013-03-08 00:09:02

标签: ruby-on-rails database-design model

我对rails很新 - 一般的Web开发,我不确定如何实现以下

  

我有一大堆书籍,每本书都有一个特定的book_ID,对于每本book_ID,我都有该书的x份副本,每份都有他们独有的详细信息。

我在想的是我应该有一个主表,其中包含该特定书籍的详细信息,从这个主表中,我将参考每个特定book_ID的表格。

实施例

  书 - “10,Apple的蜜蜂”,“20个有趣的蜜蜂”......

     

10 - 书1,书2,书3,....#book x指的是book_id 10的一本特殊书。

这听起来像是正确的方法吗?如果是这样,我如何在rails中完成此操作?如何自动创建使用book_ID作为表名的任意数量的表?

1 个答案:

答案 0 :(得分:1)

我正在翻译book_id可以重命名为reference number。在一个非常基础的层面上,我会做

使用脚手架创建一个Book类(以及控制器和视图)

rails generate scaffold Book name:string title:string reference_no:integer

现在,您可以添加第一本书,一本标题为“Apple's bees”的新书,参考编号为10。

ID然后创建另一个名为Copy的单独类,您可以使用has_many与书籍的关系

class Copy
  belongs_to :books
end

并在你的Book课程中:

class Book
  has_many :copies
end

就数据库中的外观而言,您将拥有两个表:书籍和副本。

副本表格中的每条记录都会对其所属的书籍reference