我有一個嵌套的對象是這樣的:軌道嵌套對象的形式和命名空間的控制器
class Work < ActiveRecord::Base
belongs_to :issue
belongs_to :author
has_many :pages, :class_name => 'Work'
accepts_nested_attributes_for :pages, :allow_destroy => true
end
class Page < ActiveRecord::Base
belongs_to :work
end
和我有一個窗體創建/編輯工作,爲嵌套頁對象字段。我跟着this post進行設置,所以我使用了一個助手,以便我的表單在您開始時創建一個新頁面。
module AdminHelper
def make_work(work)
returning(work) do |w|
w.pages.build if w.pages.empty?
end
end
end
然後,在我的形式部分我有:
- form_for make_work(@work) do |f|
...
- f.fields_for :page do |page_f|
= page_f.label :text
%br
= page_f.text_area :text
%p
= f.submit "Submit"
顯示頁面的領域,但是當它提交它看起來在作品控制器創建操作。創建操作位於管理工作控制器(名稱空間)中,以便中斷。
我嘗試它與命名空間中的對象,但如果我這樣做,它不知道有關網頁:
- form_for make_work([:admin, @work]) do |f|
...
如何使用該命名空間嵌套對象的形式,使其具有頁面的方法,但職位名稱空間管理員/工程控制器?
我正在嘗試@ work.pages.build現在在我的控制器中,並且忽略了幫助器。我在admin/works_controller#create中遇到未知屬性錯誤。我很難過。 – River 2010-01-17 02:34:03
你能粘貼你的錯誤嗎? – theIV 2010-01-17 06:58:00
Admin/worksController中的ActiveRecord :: UnknownAttributeError#create 未知的屬性:頁面 – River 2010-01-17 15:20:18