gpt4 book ai didi

ruby-on-rails - 嵌套表单 - 如何将现有嵌套对象添加到父表单?

转载 作者:行者123 更新时间:2023-11-30 23:50:04 26 4
gpt4 key购买 nike

我已经为多对多关系设置了模型:

class Workshop < ActiveRecord::Base
has_many :workshop_students
has_many :students, :through => :student_workshops

accepts_nested_attributes_for :students
end

class Student < ActiveRecord::Base
has_many :student_workshops
has_many :workshops, :through => :student_workshops

accepts_nested_attributes_for :products
end

class StudentWorkshop < ActiveRecord::Base
belongs_to :student
belongs_to :workshop
end

正如您在上面看到的,一个学生可以有很多研讨会,而研讨会可以有很多学生。

我看过以下 Rails 类型转换: herehere .我偶然发现的大多数在线资源都只展示了如何在父表单中创建嵌套表单以创建新对象。

我不想创建一个新对象。我只想将现有对象添加到父窗体。所以例如。如果我决定创建一个新的研讨会,我想将现有学生分配到研讨会。

我不明白的一件事是,我如何将学生链接到研讨会形式?其次,当传递参数时, Controller 方法中的更新/创建应该是什么?

如果有人能指出我正确的方向,我将不胜感激。

最佳答案

最简单的做法是:

<%= f.collection_select(:student_ids, Student.all, :id, :name, {:include_blank => true}, {:selected => @workshop.student_ids, :multiple => true} )%>

您不必在 create 操作中执行任何操作。

关于ruby-on-rails - 嵌套表单 - 如何将现有嵌套对象添加到父表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com