从阵列的其余部分第一项的不同渲染

时间:2014-12-27 18:23:33

标签: ruby arrays ruby-on-rails-3.2 zurb-foundation

尝试将Zurb基础选项卡应用于rails 3.2应用程序生成的数组,如下所示:

  <dl class="tabs" data-tab>
    <% @open_dates.first do |open_date| %>
      <dd class="active"><a href="#<%= l(open_date, :format => :day) %>"><%= l(open_date, :format => :day) %></a></dd>
    <% end %>
    <% @open_dates.drop(1) do |open_date| %>
      <dd><a href="#<%= l(open_date, :format => :day) %>"><%= l(open_date, :format => :day) %></a></dd>
    <% end %>
  </dl>

第一项需要定义为active的类才能在HTML中正确呈现。使用firstdrop (1)的{​​{3}} HTML输出完全空白

  <dl class="tabs" data-tab>
  </dl>

数组不为空,因为使用each输出数据...

1 个答案:

答案 0 :(得分:1)

我不确定为什么您的实施不起作用,但如果您说each有效,则可以使用each执行此操作,甚至可以使用它来简化代码:

  <dl class="tabs" data-tab>
    <% @open_dates.each_with_index do |open_date, index| %>
      <dd class='<%= "active" if index == 0 %>'>
        <a href="#<%= l(open_date, :format => :day) %>"><%= l(open_date, :format => :day) %></a>
      </dd>
    <% end %>
  </dl>
相关问题