2010-09-28 55 views
0

工作有很多任務,任務有很多筆記rails3 html5 jquery動態添加嵌套窗體,演示者模式?

這樣的表格應該怎麼樣?有了partials,我可以從/ jobs/new中輸入整個工作,並從/ jobs/2/tasks/new中添加新任務,並可以從那裏添加筆記,當然也可以從/ jobs/2中添加新筆記/ tasks/5/notes/new?

這是一個使用演示者模式的好地方嗎?如果是,我應該使用哪個庫? 我試過github上的active_presenter的rails3分支,但是我在表單部分中遇到了一些麻煩。

有人爲這樣的任務提供了一個很好的例子嗎?

有很多主持人教程,嵌套形式的教程和不顯眼的JavaScript教程,但不只是一個已經解釋了所有。

這將是很好,如果有人粘貼使用HTML5和Rails3中實例教程

回答

0

演示模式並不一定是這裏最合適,其實。

你可能會得到futher只要使用accepts_nested_attributes_for

# Models 
class Job < ActiveRecord::Base 
    has_many :tasks, :autosave => true 
    accepts_nested_attributes_for :tasks 
end 

class Task < ActiveRecord::Base 
    belongs_to :job 
    has_many :notes, :autosave => true 
    accepts_nested_attributes_for :notes 
end 

class Note < ActiveRecord::Base 
    belongs_to :task 
end 

然後在你的形式做這樣的事情(在HAML):

= form_for @job do |job| 
    = job.text_field :name # or whatever your Job attributes are 
    = job.fields_for :tasks do |task| 
    = task.text_field :name 
    = task.check_box_field :complete 
    = task.fields_for :notes do |note| 
     = note.text_field :body 
    = job.submit "Create Job" 

您可能需要實際初始化一些任務/有關新工作或相關記錄表格的說明可能不會顯示。例如,做一些類似於3.times { @job.tasks.build }的創建3個空白任務(並因此顯示任務子表單3次)。

相關問題