我正在编写一个todo应用程序,它可以跟踪经常重复的任务。我有一个CheckList
模型,其中has_many
Task
。用户可以像在Rails中一样创建新的CheckList
并向其添加任务。
我希望用户也能够创建一个清单模板(它有自己的模板模型)。这个模板将是JSON
及其CheckList
的代表(我在Task
中思考),我希望能够创建一个新的{{1}并填充它的CheckList
。这样他们就可以在不同的时间重新创建相同的清单。
有一种简单的方法可以实现这一目标吗?
有没有办法在某处创建create_list_from_template方法来解析模板并相应地创建Task
和任务?
我是否认为这一切都错了? 任何建议都赞赏......
修改
我将使用NestedAttributes直接从CheckList创建任务,这很好。我特别要问的是,如何从模板创建CheckList。
如何根据模板模型中包含的CheckList
数据调用并传递新CheckList
的创建?
有没有办法在JSON
上创建一个不同的新动作,我可以传递模板数据?就像CheckListsController
动作一样?
答案 0 :(得分:2)
您应该结帐NestedAttributes
。它允许您一次创建parent
个对象和n number
个子对象。在您的情况下,parent
为CheckList
,children
为tasks
。
检查以下链接
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html