Вам необходимо динамически назначать стили в вашем .html.erb.Вы можете использовать, таблицы, div, списки - все, что вы хотите.Просто назначьте разные классы в зависимости от количества столбцов (class = "small", class = "wide") и определите их в вашем CSS-файле ИЛИ (возможно, менее симпатично) вы можете использовать inline-styles.
ДляНапример, в этом коде я назначаю ширину элемента (чтобы сделать пятизвездочный рейтинг):
<ul class="stars floatstars">
<li class="yellowstars" style="width: <%= @article.avg_rating * 25 %>px !important;"></li>
<li class="text"><%= @article.avg_rating %> average from <%= pluralize(@article.count_ratings, "vote") %></li>
</ul>
Редактировать: если вы установите класс в качестве переменной в контроллере, это будет примером длявид:
<li class=<%= @myclass %>>...</li>