Основная проблема с данным кодом - неправильно подобраны структуры данных. Поэтому у вас тут два цикла, хотя по логике вещей нужен всего-лишь один. Отталкиваясь от того, что уже есть, я бы сделал как-нибудь вот так:
<% reserved = Hash[ @session.places.map { |p| [p.place_number, p] } ] %>
<% @session.number_of_session_places.times do |session| %>
<% n = n+1 %>
<div style="<%= reserved.include? n ? 'background: black;' : '' %>">
<%= n %>
</div>
<% end %>
Но по-хорошему, вам нужно модели/контроллеры дорабатывать, в шаблонах кода
<% reserved = Hash[ @session.places.map { |p| [p.place_number, p] } ] %>
быть не должно.