該部分的Getting Started Rails Guide種光澤,因爲它沒有實現評論控制器的「新」動作。在我的應用程序,我有了許多章節書型號:Rails 3:如何創建一個新的嵌套資源?
class Book < ActiveRecord::Base
has_many :chapters
end
class Chapter < ActiveRecord::Base
belongs_to :book
end
在我的路線文件:
resources :books do
resources :chapters
end
現在我想要實現的章節控制器的「新」行動:
class ChaptersController < ApplicationController
respond_to :html, :xml, :json
# /books/1/chapters/new
def new
@chapter = # this is where I'm stuck
respond_with(@chapter)
end
這樣做的正確方法是什麼?另外,視圖腳本(表單)應該是什麼樣的?
爲了重構代碼 - 也可以使用get_book方法來查找book @book = Book.find(params [:book_id]),然後將此方法用作before過濾器。這是因爲你在章節控制器中實現的任何方法都需要它所屬的書籍對象。 – Ninad 2011-10-11 08:47:19
Re:上面的評論,如果你有多本書的孩子,你可以將'get_book'方法重構爲'BookHelper'和'include BookHelper'到你的書籍控制器和書籍相關的控制器中。 – ocodo 2013-02-22 23:28:47
這不會創建一個額外的選擇查詢數據庫? – 2015-12-28 17:12:51