Раньше, чтобы почитать про стандартные возможности руби/рельс, смотрел в стандартные доки: http://ruby-doc.org и http://api.rubyonrails.org соответственно. Но почему-то они меня раздражали, бесили и выводили из себя.
Потом я узнал про http://apidock.com. В нем есть документация и по руби, и по рельсам. Намного приятнее, намного удобнее. Комментарии очень хорошо дополняют сами описания.
В общем, и почему я раньше им не пользовался?..
2 years ago
•
0 notes
Очень долго искал хороший мануал по блокам в ruby, да все никак не мог найти. Оказывается то, что я искал, называется dsl in ruby, кто бы мог подумать.
Лучший мануал, впрочем, тоже нашел: код рельсов, а именно хелперы форм (потому что мне нужно активно в этих самых блоках генерировать html). Есть еще routes, но туда пока не смотрел(а надо бы).
2 years ago
•
0 notes
Решил прочитать блог Ruby на Хабре с самого начала. Наткнулся на интересную, как не крути, статью про рассуждения какого-то зарубежного PHP’шника о Ruby/Rails. Статья за 25 июня 2007 года, кстати. Так вот, мудрый дядька писал:
Так же необходимо понимать что шумиха окружающая Ruby это ещё не популярность. Шумиха не постоянна. Ruby всё ещё не попал в TIOBE Top 20 — его популярность по прежнему ниже таких языков как Java, C, C++, PHP и Perl. Сейчас даже Ada и Fortran популярнее нежели Ruby.
Переходим по этой самой ссылке и понимаем, что 2.5 года спустя слова «великого и могучего» так и остались всего лишь словами.
Интересно, сам этот дядька помнит свои слова, сказанные уже довольно давно?
2 years ago
•
0 notes
Экий я, оказывается, по меркам Яндекса, важный:)
Аудитория — не менее 250 читателей, во как!

2 years ago
•
0 notes
Все уже давно привыкли, что в ruby можно делать такие вещи:
a, b = 10, 20
При этом переменной a присваивается значение 10, а b, соответственно, 20. Но когда мы хотим использовать оператор case в таком же ключе, он посылает нас подальше. Конструкция вида
a, b = case variable
when 10: 10, 20
when 20: 20, 10
end
работать не будет.
В группе ror2ru мне подсказали, как решить эту задачу:
a, b = case variable
when 10: [10, 20]
when 20: [20, 10]
end
То есть все наши значения нужно перечислять в массиве.
2 years ago
•
0 notes
Изначально хелперы создавались для того, чтобы в них писать всякие умные методы для их использования в представлениях (views). Однако иногда, редко-редко, не чаще одного раза в год, хочется тот или иной метод хелпера вызвать в контроллере.
Хелперы, контроллеры… Нужно быть проще:
class SomeController < ApplicationController
end
module SomeHelper
end
Поэтому нет ничего проще, чем «подмешать» хелпер модуль в контроллер класс:
class SomeController < ApplicationController
include ApplicationHelper
end
2 years ago
•
0 notes
На днях задался вопросом, каким образом на своем сайте показывать аватары пользователей (и где их вообще брать). Самое логичное было бы грузить их с gravatar.com, как это делает github, например.
Сразу нашелся плагин gravatar_image_tag (http://github.com/mdeering/gravatar_image_tag), но была у него одна очень неприятная деталь: он отказывался работать. То есть совсем. Вообще-вообще.
Дело было в том, что к массиву там применяли метод count, который для массивов не предназначен. Решилось все тем, что в файле:
vendor/plugins/gravatar_image_tag/lib/gravatar_image_tag.rb
я поменял вот это:
return nil if gravatar_params.keys.count == 0
на вот это:
return nil if gravatar_params.keys.size == 0
И да, плагин просто великолепен, нет слов, чтобы выразить радости :)
2 years ago
•
0 notes
Конечно же я знал, что

Более того, я даже докадывался, что

Но скажите, кто же мог знать, что

Товарищи, я в ужасе! Куда катится этот мир?!
2 years ago
•
0 notes

Заменил стандартный таб-триггер слова div на такое:
<div${1: ${2:class}=”${3:name}”}>
$0
</div>${4: <!— end of $3 —>}
Это позволило мне:
- Убирать все, кроме чистого тега div
- Менять «на лету» class на id
- Получать после закрывающего тега комментарий «end of class_or_id_name» (что очень полезно, когда кода становится очень много)
Полет нормальный, я доволен.
2 years ago
•
Notes