Задать вопрос
@niks123123

Как выводить отсортированный массив по столбцам во вьюхе?

Доброго времени суток!
Имеется отсортированный по каким-то данным массив, назовем его @array. Имеет он, к примеру, 47 элементов. Необходимо вывести содержимое массива во вьюхе по столбцам, а не по строкам с помощью bootstrap. Если выводить следующим образом:
- @array.each do |x|
  .col-sm-3.col-md-3.col-lg-3
    = x

То результат сортировки отображается по строкам, а хотелось бы реализовать это по столбцам. Выводится результат должен в 4 колонки (всегда, статично, если данных на 4 колонки не хватает, то выводить на столько, на сколько хватает).
Так не нужно:
2868e74e01cf4c0ebd32c8154c8d5ac1.png
Так нужно:
e2e3a1e576ac437abc11dfe70865ed7a.png
Помогите пожалуйста, кто реализовывал подобное.

Решение сделал следующим образом:
/ Desktop list.
.hidden-xs.text-center
  - @array.in_groups(4, false).each do |array|
    .col-sm-3.col-md-3.col-lg-3
      - array.each do |value|
        .row
          = link_to value[:name], make_path(value[:id])

/ Mobile list.
.visible-xs.text-center
  - @array.in_groups(2, false).each do |array|
    .col-xs-6
      - array.each do |value|
        .row
          = link_to value[:name], make_path(value[:id])
  • Вопрос задан
  • 276 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
nbekseitov
@nbekseitov
Ruby developer
Используй in_groups
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@alexmixaylov
никак вы не сделаете так
нужно писать костыли, например
измеряете количество элементов массива
делите это число на 4 и прописываете условия вывода элементов
Ответ написан
etspring
@etspring
Начитанное быдло
Самое кошерное - транспонировать массив.
Ответ написан
iiiBird
@iiiBird Куратор тега Bootstrap
Пока ты спишь - твой конкурент совершенствуется
Ответ написан
Комментировать
@vanderv
Ruby on Rails
@array.in_groups_of((@array.size.to_f/2).ceil, false) do |array|

end

Разобьет массив на 2 столбца
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы