Rails,使用 option_groups_from_collection_for_select 向下第三层
Rails, use option_groups_from_collection_for_select for third level down
我有以下模型.. 建筑 has_many > 楼层 has_many > 房间
我已经检查了 option_groups_from_collection_for_select 的 apidock,它只创建了 2 个级别的表单字段 select。是否可以将它设置为向下三层 select 进入房间,或者这是不可能的,我应该看看其他选择吗?谢谢。
编辑:(更多信息)
building.rb
class Building < ActiveRecord::Base
has_many :floors
end
floor.rb
class Floor < ActiveRecord::Base
belongs_to :building
has_many: rooms
end
room.rb
class Room < ActiveRecord::Base
belongs_to :floor
end
部分表格
<div class="form-group">
<% loc_options = option_groups_from_collection_for_select(@buildings, :floors, :name, :id, :name)%>
<%= f.label :location, 'Location' %><br />
<%= f.select :location, loc_options, {include_blank: 'Where is it located?'}, class:'form-control' %>
</div>
我想要select房间,但是按照api中的例子,到目前为止我只能将它设置到楼层。
最终放弃了这个,因为 HTML 规范只允许 2 个级别,而是选择 3 个 select 框,使用 ajax 填充每个 select 字段选项在它下面。
我有以下模型.. 建筑 has_many > 楼层 has_many > 房间
我已经检查了 option_groups_from_collection_for_select 的 apidock,它只创建了 2 个级别的表单字段 select。是否可以将它设置为向下三层 select 进入房间,或者这是不可能的,我应该看看其他选择吗?谢谢。
编辑:(更多信息)
building.rb
class Building < ActiveRecord::Base
has_many :floors
end
floor.rb
class Floor < ActiveRecord::Base
belongs_to :building
has_many: rooms
end
room.rb
class Room < ActiveRecord::Base
belongs_to :floor
end
部分表格
<div class="form-group">
<% loc_options = option_groups_from_collection_for_select(@buildings, :floors, :name, :id, :name)%>
<%= f.label :location, 'Location' %><br />
<%= f.select :location, loc_options, {include_blank: 'Where is it located?'}, class:'form-control' %>
</div>
我想要select房间,但是按照api中的例子,到目前为止我只能将它设置到楼层。
最终放弃了这个,因为 HTML 规范只允许 2 个级别,而是选择 3 个 select 框,使用 ajax 填充每个 select 字段选项在它下面。