Новая книга о Ruby on Rails!!!

Ура товарищи!!! Не прошло и года, а в продаже уже появилась новая книга на русском языке о Ruby on Rails 2.0 от издательства “Символ-Плюс”.

Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails
Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails

Называется она ”Путь Rails. Подробное руководство по созданию приложений в среде Ruby on Rails” от Оби Фернандеса. Надеюсь она станет неплохим дополнением к моей небольшой коллекции книг по Ruby и Rails.

* * *

Вывод информации в виде N колонок

Нашёл ещё один повод для восхищения Ruby :) Потребовалось мне расположить несколько записей из таблицы с товарами в виде небольшой таблицы размером две на три ячейки т.е. чтобы получился примерно такой результат:

Таблица с товарами которая мне нужна
Таблица с товарами которая мне нужна

Понятно что получить 6 записей из таблицы не проблема, но вот как их сгруппировать по две на ряд чтобы облегчить создание разметки? Я уже было приготовился писать велосипед, но тем не менее меня одолели сомнения: не может быть такого чтобы в Ruby или Rails не было бы какого-нибудь вспомогательного метода который бы умел группировать записи из массива или по крайней мере делать что-то подобное. И сомнения были не напрасными, буквально через несколько минут я наткнулся на метод #each_slice который делал всю грязную работу. Осталось лишь подключить библиотеку require ‘enumerator’ в контроллере и написать примерно такой код:

<table cellpadding="0" cellspacing="0">
  <% @products.each_slice(2) do | product_row | %>
    <tr>
      <% product_row.each do | product | %>
        <td>
          <%= render :partial => 'product', :locals => {:product => product} %>
        </td>
      <% end %>
    </tr>
  <% end %>
</table>

Таким вот образом Ruby сэкономил мне пол часа времени :)

P.S.

Камень в сторону noobkit.com: noobkit.com почему то считает что такого метода не существует.

* * *

Начало ноября...

Говно-код

После небольшого отдыха на прошедших праздниках в Питере сразу начался небольшой фрилансерский проект. Этим и объясняется моё затишье в начале месяца.

Писать пока особо нечего т.к. ничего интересного я не делаю и всего-лишь меняю дизайн в приложений. Хотя это приложение меня сильно поразило… поразило тем насколько говёно можно написать приложение на Ruby on Rails. В нём можно встретить все “болячки” которые ни раз и не два обмусоленные в литературе по программированию: дублирование кода, гигантских размеров функции, полотна кода во view-шках, полотна HTML-разметки втиснутые в строки, SQL injection практически в каждом запросе, полотна SQL кода и это ещё не всё. В общем я в тихом ужасе, такого бля№$!ва-кода я не видел уже давно.

* * *