Job有很多任务,任务有很多注意事项
这样的表格怎么样?使用partials,我可以从/ jobs / new输入整个作业,并从/ jobs / 2 / tasks / new添加新任务,可以从那里添加注释,当然还有从/ jobs / 2添加新注释的可能性/ tasks / 5 / notes / new?
这是使用演示者模式的好地方吗?是的,我应该使用哪个库? 我在github上尝试过active_presenter的rails3分支,但是我遇到了部分形式的麻烦。
有人为这样的任务做好榜样吗?
有很多演示者教程,嵌套表格教程和不引人注目的javascript教程,但不仅有一个已经一起解释过。
如果有人使用html5和rails3示例粘贴教程会很好。
答案 0 :(得分:0)
实际上,Presenter模式不一定是最合适的。
使用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次)。