Ruby on rails 在Rails中,如何使用三个集合选择来添加3个值?

Ruby on rails 在Rails中,如何使用三个集合选择来添加3个值?,ruby-on-rails,Ruby On Rails,我希望创建3个单独的集合来为一个团队选择球员,其中团队有很多球员。但是,如果我有以下代码3次 = f.collection_select :player_ids, @season.players, :id, :name 。。。它只在参数中返回一个,因为它们都指向同一个对象 如何使用三个集合选择来添加三个具有多个值的集合 我不想使用 = f.collection_select :player_ids, @season.players, :id, :name, {}, { :multiple =&

我希望创建3个单独的集合来为一个团队选择球员,其中团队有很多球员。但是,如果我有以下代码3次

= f.collection_select :player_ids, @season.players, :id, :name
。。。它只在参数中返回一个,因为它们都指向同一个对象

如何使用三个集合选择来添加三个具有多个值的集合

我不想使用

= f.collection_select :player_ids, @season.players, :id, :name, {}, { :multiple => true }

参数中只有一个,因为所有三个下拉列表共享相同的html
元素ID和名称

如果您不喜欢多重方法,我唯一能想到的就是手动指定下拉ID和名称,如下所示:

f.collection_select :player_ids, @season.players, :id, :name, {}, {:id => "dropdown_1", :name => "season[player_ids][]"}
f.collection_select :player_ids, @season.players, :id, :name, {}, {:id => "dropdown_2", :name => "season[player_ids][]"}
f.collection_select :player_ids, @season.players, :id, :name, {}, {:id => "dropdown_3", :name => "season[player_ids][]"}
ID可以是任何您喜欢的,但这三个ID必须是不同的。真正重要的是“name”属性,因为它必须与您正在更新的模型相匹配(在本例中,我假设它是季节),并且具有最后的括号[]将指示它是一个ID数组(每个下拉框一个ID)