我是红宝石的新手,如果我没有很好地描述这个问题,我很抱歉:)
所以,我想知道Rails是否有可能出现以下情况: 例如,我有一张桌子,里面有一些书。我们称之为书籍。 此表包含以下字段:name,nr_of_pages。
如何创建一个名为Pages的表,其中的字段数等于某本书的nr_of_pages中的值。 (图书'字段中的值由用户在" new.html.erb"视图中引入)
Books
-----------------------
| name | nr_of_pages |
-----------------------
Pages
-------------------------------------------------
| book_id | page_1 | page_2 | | page_3 | ...etc |
-------------------------------------------------
当然页数:
belongs_to :book
并预订:
has_many :pages
如何用数据填充第二个表,因为这两个模型有不同的视图?
答案 0 :(得分:1)
页面实际上就是这样的页面内容:
Books
-----------------------
| name | nr_of_pages |
-----------------------
Pages
-------------------------------
| book_id | page_no | content |
-------------------------------
然后,当您创建页面时,您可以说:
Page.create(content: "This is the first page of text", page_no: 1, book: some_book)
然后在您的控制器中,您可以执行以下操作:
@pages = Book.find(by_some_id).pages.order(page_no: :asc)
这将为您提供一系列以升序循环的页面,使您能够在视图中使用#each
循环来显示所有页面。