0

我有一个复选框列表,人们可以在其中为一个项目选择一个或多个组织。这是一个有很多通过关联。

但我还想添加一个文本字段,Add Other以便用户还可以创建一个新组织并将其自动分配给项目

项目.rb

has_many :organizationables
has_many :organizations, through: :organizationables
attr_accessible :organization_ids

组织.rb

attr_accessible :name, :website
has_many :organizationables
has_many :projects, through: :organizationable

可组织的.rb

attr_accessible :organization_id, :project_id
belongs_to :organization
belongs_to :project

我知道对于“可组织”协会来说,这是一个奇怪的名字,但是哦,好吧。我尝试了不同的方法来设置表单,但我无法让它工作。

新项目表单应该有复选框,可以将组织分配给项目,但也会有一个Other Organization文本字段(这将创建一个新组织并将其分配给项目)。

4

1 回答 1

0

假设您想在一个操作中创建新组织并关联到现有项目,这是最简单的方法:

new_organization.save!
project.organizations << new_organization

这将创建并保存将项目与新组织链接的可组织记录。

更新:

首先保存新项目。然后设置他们检查的一系列组织。如果他们创建了一个组织,请将其保存并将其添加到阵列中。然后一举将组织列表与项目联系起来:

project.organizations = my_list_of_checked_organizations

有关类似示例,请参见http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association 。

于 2013-04-16T22:29:48.213 回答