2013-03-08 35 views
0

我是相當新的軌道 - 網絡發展一般,我不知道如何實現以下Rails - 每個單一ID或一切的表都是單個表?

我的書大名單,每本書都有一個特定book_ID併爲每book_ID,我有這本書的x個副本,每個副本都有他們獨有的細節。

我在想的是我應該有一個主表,它具有該特定書的詳細信息,並且從這個主表中,我將引用每個特定book_ID的表。

書 - 「10,蘋果的蜜蜂」, 「20只滑稽蜜蜂」 ......

10 - 書1,書2,第3冊,.... #book x指的是book_id爲10的書。

這聽起來像是正確的方法嗎?如果是這樣,我如何在rails中完成這項工作?如何自動創建任意數量的使用book_ID作爲表名的表?

+0

我認爲你需要從軌道退後一步,看看基本的編程術語。 「多種不同的書」和「每本書的倍數」是什麼意思 – 2013-03-08 00:12:38

+0

@AbePetrillo謹慎地闡述這一點?基本上我有一本書的清單,每本書有x個號碼(它們有細微差別,我需要它的每個記錄,例如特殊ID號碼) – rlhh 2013-03-08 00:16:35

+0

看看我的答案,看看它是否有幫助您。 – 2013-03-08 00:22:16

回答

1

我在翻譯book_id可以重命名爲reference number。在一個非常基本的水平,我會做

使用腳手架創建一個類書(連同控制器和視圖)

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

現在,您可以添加您的書籍,如第一一個,一本新書以「蘋果蜂」一個標題和一個參考號碼10

ID,然後在創建另一個名爲複製獨立的類,並且可以使用has_many關係到圖書

class Copy 
    belongs_to :books 
end 

,並在您圖書類:

class Book 
    has_many :copies 
end 

在了它在數據庫方面,你將有兩個表:書及複印件。

副本表中的每條記錄對其所屬的書都有一個reference

+0

我明白了這個想法,如果我的<100本書,它會工作得很好。如果我有1000本書,並且每本有500本,該怎麼辦?它可能需要很長時間才能檢索book_id 1的所有500個副本(尤其是如果它們未插入到副本表中)。如果我要爲book_id 1使用單個表格,則可以僅從該單個表格中返回所有內容。 – rlhh 2013-03-08 00:27:43

+0

聽@abe他說的是真話:) - 但嚴重的是,你試圖解決的實際問題是什麼?如果你只是在玩耍,我強烈推薦本教程,它是免費的,並且是開始使用Rails和現代Web開發工作流程的好方法:http://ruby.railstutorial.org/ – 2013-03-08 02:56:44

+0

這不是@ abe的方法不起作用。它工作得很好(正如我在前面的評論中所述),但我只是試圖以更有效的方式解決問題。用這樣的查詢來調用數據庫一千次,在我看來會非常糟糕。 – rlhh 2013-03-08 03:28:20

相關問題