Rails - 基于另一个模型创建模型的实例

时间:2017-01-11 21:53:52

标签: ruby-on-rails activerecord

我正在编写一个todo应用程序,它可以跟踪经常重复的任务。我有一个CheckList模型,其中has_many Task。用户可以像在Rails中一样创建新的CheckList并向其添加任务。

我希望用户也能够创建一个清单模板(它有自己的模板模型)。这个模板将是JSON及其CheckList的代表(我在Task中思考),我希望能够创建一个新的{{1}并填充它的CheckList。这样他们就可以在不同的时间重新创建相同的清单。

有一种简单的方法可以实现这一目标吗?

有没有办法在某处创建create_list_from_template方法来解析模板并相应地创建Task和任务?

我是否认为这一切都错了? 任何建议都赞赏......

修改

我将使用NestedAttributes直接从CheckList创建任务,这很好。我特别要问的是,如何从模板创建CheckList。

如何根据模板模型中包含的CheckList数据调用并传递新CheckList的创建?

有没有办法在JSON上创建一个不同的新动作,我可以传递模板数据?就像CheckListsController动作一样?

1 个答案:

答案 0 :(得分:2)

您应该结帐NestedAttributes。它允许您一次创建parent个对象和n number个子对象。在您的情况下,parentCheckListchildrentasks

检查以下链接

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html