| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Ruby On Rails > Переделать код |
| Автор: Лена 20.12.2009, 18:04 | ||
У меня есть код который выстраивает список товаров в столбик:
Как переделать код, чтобы был список в два стобика, а не в один. Я что-то не пойму как это реализовать |
| Автор: source777 20.12.2009, 19:18 |
| А каким образом должно образоваться 2 столбика: 1 2 3 4 5 6 7 8 .. .. или 1 i+1 2 i+2 .. .. i n ??? |
| Автор: Лена 20.12.2009, 21:52 |
Мне кажется этот вариант будет наиболее лучше... |
| Автор: source777 20.12.2009, 23:18 |
| В таком случае тебе надо будет проверять счётчик итераций на чётность, и выводить соответствующий фрагмент вёрстки. Вёрстку для двух столбиков ты ведь уже подготовила? |
| Автор: Лена 20.12.2009, 23:50 |
Не совсем понимаю. Мне надо создать таблицу с двумя столбиками и в зависимости от четности раставлять данные в строках этой таблицы? |
| Автор: source777 21.12.2009, 00:24 |
| Тебе надо просто определиться с вёрсткой. Если ты хочешь выводить это в таблице, то тебе нужно будет закрывать </tr> после каждого второго продукта. P.S. Кстати непонятно, почему у тебя сейчас 2 строчки(tr) на каждый продукт, должна быть только одна, а всё описание продукта должно помещаться внутрь ячейки(td). Ну это есть ты табличную вёрстку предпочитаешь, а не блочную. Добавлено через 1 минуту и 40 секунд P.P.S. В любом случае, подготовь сначала вёрстку без привязки к Ruby, просто голый HTML. |
| Автор: source777 21.12.2009, 12:38 | ||
Ну если ты так и планировала, то нужно делать таблицу внутри td. Т.к. сейчас у тебя нет никакого элемента, внутри которого содержится всё, что относится к конкретному продукту, а это уже логическая ошибка вёрстки. |
| Автор: Лена 21.12.2009, 15:03 |
А как все таки наиболее правильно будет решить? Как примерно должен выглядеть html? |
| Автор: source777 21.12.2009, 15:41 | ||||
Ну это уже в другой раздел. Если бы я делал нечто подобное, то html выглядел бы примерно так:
А остальное в CSS, например:
|
| Автор: Лена 21.12.2009, 22:02 |
| Подскажите а в этой верстке где должна быть строка перебора: <% for product in @products -%> ? |
| Автор: source777 21.12.2009, 22:23 | ||
После <ul class="products">
|
| Автор: Лена 21.12.2009, 22:39 |
Упорно выстраивается на всех страницах в один столбик... |
| Автор: source777 21.12.2009, 23:05 |
Используй CSS!!! |
| Автор: Лена 21.12.2009, 23:23 |
У меня не получается. Вот что вижу в Опере (рис.). Почему-то пустые места и таблицы разной высоты. |
| Автор: source777 22.12.2009, 13:21 |
Это у тебя ячейки с текстом описания продукта разной высоты, исправь. |
| Автор: Лена 23.12.2009, 00:51 | ||
В общем не получилось у меня красиво разбить. Пока оставила как есть. |
| Автор: Лена 26.12.2009, 01:35 | ||
В поисках как все таки засунуть все в две колонки таблицы чтобы все было ровно, был найден такой код:
Однако здесь где-то ошибка... Может есть подсказка? |
| Автор: Лена 28.12.2009, 22:47 | ||
Вот этот код дал результат. Код работает как надо:
|
| Автор: source777 28.12.2009, 23:58 |
| Осталось только отDRYить! |
| Автор: Лена 29.12.2009, 11:13 |
Это как? |
| Автор: source777 29.12.2009, 13:15 |
| это без дублирования кода, см. http://en.wikipedia.org/wiki/Don%27t_repeat_yourself |
| Автор: sunchess 23.3.2010, 14:15 |
| Смотрите в сторону Array#in_groups_of и не надо велосипеда |
| Автор: source777 23.3.2010, 22:28 |
| sunchess, не надо старые темы откапывать. |