找到对象集合并根据唯一值对其进行排序
@sections = Section.where('id IN (?)', @sections_uniq).to_a
然后该符号将在视图中显示为选项卡(使用基础),每个唯一值均带有一个选项卡
<% @sections.each do |section, index| %>
<li>
<input type="radio" name="tabs" id='tab<%= index %>' />
必须在索引中为每个唯一值创建索引值。
似乎没有<%=
或#{...}
版本。
在HTML标记的带引号的值内生成该索引值(即id ='tab0',id ='tab1'...)的语法是什么?
答案 0 :(得分:1)
<% @sections.each.with_index do |section, index| %>
首先需要转换集合to enumerator. And that can be done via the help of .to_enum, .each, or .map
更新,第二种选择
如以下注释中指出的那样,在控制器中定义
@sections = Section.where('id IN (?)', @sections_uniq)
没有后缀,并且在视图中。
<% @sections.each_with_index do |section, index| %>
效果也很好。
因此,解决方案取决于操作中除了初始情况(如上所述)之外,如何处理数组。