Книги по Ruby и Rails на русском языке

4 октября 2008 16:56 | Ссылка | Комментарии (0)
Ruby Book

Тема с русскими книгами по Ruby и Rails довольно избитая и озвучена во многих блогах, но я не могу не добавить свои “пять копеек” :)

* * *

Особенности работы с русскими строками в Ruby

4 октября 2008 20:55 | Ссылка | Комментарии (0)
Иногда обычные вещи выглядят необычно

До этого как-то не приходилось с этим сталкиваться…

Оказывается чтобы операции со строками содержащими русские символы заработали так как нужно вам, сначала надо преобразовать строку в символы. Делается это с помощью метода chars который входит в состав Active Support (и который по умолчанию используется в Rails):

# Говорим Ruby что будем работать 
# с UTF-8 (в Rails применяется по умолчанию)
$KCODE = "UTF8"

# Подгружаем Active Support (в Rails подключается по умолчанию)
require "rubygems"
require "active_support"

s = "привет"
puts s
puts s.upcase
puts s.chars.upcase

Результат:

привет
привет
ПРИВЕТ
* * *

Скорая помощь

8 октября 2008 03:40 | Ссылка | Комментарии (1)

В этом посте я расскажу какие справочные системы по Ruby и Rails (и не только) доступны разработчикам в Интернете.

* * *

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

8 ноября 2008 00:03 | Ссылка | Комментарии (1)

Нашёл ещё один повод для восхищения 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 почему то считает что такого метода не существует.

* * *