在Rails中,如何在创建新的子模型时搜索或创建父模型?

时间:2015-02-14 12:24:48

标签: ruby-on-rails ruby

我对Rails相当新,所以我想知道会议是什么样的。我有2个模型,AssignmentTask与has_many / belongs_to关系。我希望用户能够通过搜索Task模型或创建新模型来创建Assignment模型。所以我的流程是:

  1. 用户尝试创建新的Task
  2. 用户要求输入Assignment名称
  3. 在数据库中搜索Assignment

    一个。如果找到Assignment,请显示详细信息,请用户确认

    湾如果找不到,请要求用户创建新的Assignment

  4. 附加Assignment后,请用户输入Task详细信息
  5. 我想知道的是,是应该在TaskController (task#new)下处理所有这些还是在AssignmentController (assignment#search)下单独处理第3步?此外,在步骤#3之后我应该在何时/何时保存Assignment模型,或者等到用户执行步骤#4(因此没有任务没有任务)?

    注意:如果这会产生任何差异,用户将无法自行创建Parent模型。

    我发现与此问题相关的最接近的问题是this one,但没有答案。或者JS真的是实现这个目标的最好方法吗?

    编辑:关系澄清

    父母是"作业"和孩子是"任务" (重命名为" Parent"以及" Child"以上引用)。我希望用户能够列出所有分配并列出所有任务,但只创建任务(没有附加任务的任何分配应该存在)。任务也属于用户。因此,用户将创建属于他自己的任务,以及分配(现有或新的)。

    目前,我的routes.rb看起来像是:

    resources :assignments
    resources :tasks
    

    编辑:模型

    class Assignment < ActiveRecord::Base
      has_many :tasks
    end
    
    class Task < ActiveRecord::Base
      belongs_to :assignment
      belongs_to :user
    end
    
    class User < ActiveRecord::Base
      has_many :tasks
    end
    

0 个答案:

没有答案