我有一个表单,其中可以有三个选择框,具体取决于复选框 - 我正在使用 jQuery 来显示/隐藏它们,具体取决于哪个复选框处于活动状态。下面f
是player
<% Game.all.each_with_index do |game, i| %>
<div class="team_<%= i %> hide">
<%= f.collection_select(:team_division_id, TeamDivision.where("game_id = ?", game.id),
:id, :name, include_blank: true) %>
</div>
<% end %>
每个集合选择都生成一个 id player_team_division_id
- 并且由于一个页面只能有一个 id,这真的与我的结果搞砸了,即第一个选择框显示得很好,但其他选择框显示为简单的链接javascript:void(0)
- 如果我检查用firebug / chrome生成的div,信息就在那里,它只是因为id没有显示为选择框(大概)。我正在使用 selected.js,如果这会有所不同,尽管我认为这没有任何影响。
编辑(模型):
class Player < ActiveRecord::Base
belongs_to :game
belongs_to :team_division, touch: true
end
class Game < ActiveRecord::Base
has_many :players
has_many :team_divisions
end
Class TeamDivision < ActiveRecord::Base
has_many :players
belongs_to :game
end