使用 Rails 3.0.10 和 Ruby 1.9.2。
我有一个 Book 模型,它有很多页。
class Book < ActiveRecord::Base
has_many :pages
# is this right?
def pages
Page.order('page_number asc').find_all_by_book_id(:id)
end
end
class Page < ActiveRecord::Base
belongs_to :book
end
当我检索一本书的页面时,我总是希望它们按页码排序。处理此问题的正确方法是什么,以便调用 book.pages 将按顺序返回所有页面?
在编辑本书时,我还会显示可以编辑的每一页的内容。如果我使用嵌套属性,假设我之前的问题得到解决,这是否会以正确的顺序返回页面?
<%= form_for [@book, @pages] do |f| %>
<%= f.fields_for :pages do |page| %>
do something
<% end %>
<% end %>
谢谢