Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Peopleask, игрушечное приложение Rails с открытым кодом

Ruby
У Google есть такой инструмент Google suggest, который показывает как часто люди ищут что-то. Там часто можно встретить очень забавные веши.

На этой почве появилась идея сделать маленький проект.

Сайт: www.peopleask.ru
Код на Ruby On Rails: github.com/fs/rails-project-peopleask/tree/master

Мне больше всего нравятся результаты для запроса «Что будет если»
Всего голосов 15: ↑10 и ↓5 +5
Просмотры507
Комментарии 15

Ruby on Rails. Итоги первого месяца

Ruby
Чуть больше месяца назад я пересел с PHP на Ruby. Теперь хочу как-то резюмировать этот небольшой опыт и попытаться сформулировать плюсы и минусы.
подкат
Всего голосов 95: ↑79 и ↓16 +63
Просмотры2.2K
Комментарии 145

Rails 2.2

Ruby
А тем временем вышла новая версия Ruby on Rails.
Полно новых и полезных функций: интернационализация, thread safety, совместимость с руби 1.9 и многое другое.
Так же обновили документацию и гайды.

Кстати, для чтобы воспользоваться полезностями интернационализации для великого и могучего, советую посмотреть в сторону гема russian.

Обновляемся стандартно:

gem update --system
gem install rails


Запись в рельсовом блоге
27 полезных ссылок по новым рельсам
Всего голосов 49: ↑44 и ↓5 +39
Просмотры433
Комментарии 29

Routes. The Beginning

Ruby
Роуты в рельсах очень важная вещь. Но до поры до времени можно даже не обращать внимание на них. Особенно если вы пользуетесь командой scaffold, которая автоматически все прописывает. Но в какой-то момент появляется необходимость создавать нестандартные роуты. Это значит самое время залезать в файл routes.rb в папке config вашего проекта.

Что такое роуты


Роуты — это система маршрутов (путей, url'ов) на вашем сайте. Благодаря роутам мы можем иметь красивые и ясные для пользователей ссылки. Введя ссылку вроде mysite.ru/articles/2008/november/13 мы получим все статьи за 13 ноября 2008 года, а по ссылке mysite.ru/shop/shoes получим каталог обуви из вашего магазина. При всем при этом, структура каталогов сайта никак не изменяется. В любой момент мы можем изменить роуты не трогая расположение самих файлов. Но чтобы все это работало нам необходимо настроить роуты.
тут есть хабракат
Всего голосов 45: ↑40 и ↓5 +35
Просмотры12K
Комментарии 34

RESTful routing

Ruby
В прошлой статье про роуты я много о чем еще не написал, но Iskin заметил, что я ничего не написал про RESTful routing. Это очень важная часть маршрутинга на рельсах. Общей картины о REST у меня не было, были лишь вырванные оттуда отсюда общие представления. Так что я решил взяться за это поосновательнее.

Есть много литературы, но она наверняка не переведена. И есть пара скринкастов, которые я просмотрел:
Скринкаст №35 «Custom REST Actions» Райана Бейтса
Скринкаст №93 «RESTful Rails» Бала Паранжа — он более основательный и представляет собой часовую лекцию в университете. Еще у него индийский английский =).
Отличный перевод статей по поводу REST

Читать дальше →
Всего голосов 29: ↑25 и ↓4 +21
Просмотры10.5K
Комментарии 14

Ruby is not Rails

Ruby
Последнее время о Ruby начали думать только как о Ruby on Rails. Но в мире Ruby ещё много красивых и иногда уникальных вещей. Поэтому, в целях борьбы с предрассудками, хочу вкратце рассказать о отличных и необычных Ruby-проектах.

Читать дальше →
Всего голосов 71: ↑63 и ↓8 +55
Просмотры4.5K
Комментарии 30

Обучение Ruby и Rails, частные занятия

Учебный процесс в IT
Update: Поскольку этот пост был написан давно и информация в нем немного устарела, если вы хотите научитсья Ruby On Rails, пожалуйста пройдите на эту страницу: snitko.ru/learn_rails.html, я пострался там все подробно изложить.

***

Я сейчас прямо тут буду предлагать частные уроки людям, которые хотят познакомиться с языком Руби и научиться фигачить веб-приложения на Рельсах. Мы обсудим и составим индивидуальный план занятий, обозначим цели, будем работать над вашими собственными идеями и проектами и, по желанию, я постепенно подключу вас к разработке своего нового интересного проекта.

Условия обсуждаются индивидуально.
Контакты на snitko.ru

Под катом будет немного обо мне и еще немного о моем предложении.
Читать дальше →
Всего голосов 30: ↑19 и ↓11 +8
Просмотры2.6K
Комментарии 39

Ruby on Rails делаем первый шаг

Чулан
Решил я в качестве повышения проф уровня так сказать изучить Ruby ну и ясное дело Rails тоже.
Лично у меня первый вопрос который возник в органе для переноски шапки это IDE. Я работаю с ASP.NET и привык к качественному IDE каким я думаю бесспорно считается Visual Studio.

Порыв немного в гугле наткнулся на прекрасный отчет об использовании NetBeans 6.5 IDE для Ruby Переводить я думаю не стоит так как там вобщемто все в скриншотах с кратким описанием.

Чесно говоря я последний раз NetBeans IDE смотрел несколько лет назад когда оно было в версии 4.5 и поддерживало тока Java. С тех пор воды натекло много и как выяснилось туда куда надо.

По моему мнению (как пользователя VS) NetBeans прекрасное качественное IDE чего я признаюсь честно даже не ожидал.
Можно скачать только Руби версию и вы получите весь пакет в одном установщике сразу. То есть вам автоматом устновится Ruby Web сервер для него же, Rails и даже Демо проект. NetBeans прекрасно поддерживает intellisense для Ruby, прекрасный встроенный дебагер, работа с БД, и SVN и это все в одном флаконе и хорошо интегрированно именно с Rails фреймворком, то есть IDE в своих контекстных меню поддерживает команды из Rails, и не требует никакой фактически конфигурации. Также внутри теплейты для разного рода проектов. Вообщем самый настоящий Plug and Play. Ну и конечно что немаловажно совершенно задаром и кроссплатформенно.

На радостях засел за мега книгу отлично написанную в шутливой манере по Ruby HUMBLE LITTLE RUBY BOOK очень рекомендую для тех кто читает на инглише. Дядя очень доступно пишет, показывая элегантность этого языка во всей красе.
Всего голосов 18: ↑11 и ↓7 +4
Просмотры590
Комментарии 9

Покорим Ruby вместе! Капля первая

Программирование
Дабы сразу определить целевую аудиторию этого цикла заметок-статей-поучений пару слов о себе. Бывший школьник, будущий студент, в программинге толком ничего не смыслю, хотя есть пара сайтиков на готовых движках. В php-скриптах могу чего-нить лишнее удалить, изменить, но написать что-то с чистого листа — это не ко мне. Неоднократно пытался научится мастерству создания программ, но обычно тормозил как только дело доходило до ООП (видел в коде эти многочисленные классы, в пособиях всякие «объекты», «инкапсуляции» и т.п. и зависал...)

Собственно точно такое же желание появилось и сейчас. Порыскав по сети в поисках «чего-бы такого интересного выучить» наткнулся именно на Ruby с его рельсами. По словам спецов разного качества Руби сейчас актуален, программировать на нем быстро, это полный ООП (что перспективно в дальнейшем покорении олимпа программирования), синтаксис несложен… В то же время язык — тормоз, нагружает систему, twitter в нем барахтается, пытаясь удержаться на плаву, постоянные проблемы с хостингом. Но я вроде как стартапить в многомиллионную аудиторию не собираюсь, а для общего образования всегда подойдет.

Так что стоит признаться, что и Ruby я знаю совсем каплю, но уверен, что и мои «капли» будут интересны некоторым индивидам, подобным мне. Я могу (и буду) часто ошибаться в каких-то понятиях, методах, но мы ведь готовы помогать друг другу? Вроде бы как Хабр — это элита ИТ, но я думаю, что местные спецы не будут против, если мы тут с начинающими ребятами немного «потусим» :)

Собственно в этой серии статей мы будем капля за каплей наполнять стаканчик знаниями о Руби, наполнять будем вместе — для меня это также станет дополнительным стимулом не бросать занятия. Надеюсь, что и вам будет интересно! Начнем?

Дальше - больше
Всего голосов 78: ↑64 и ↓14 +50
Просмотры36K
Комментарии 192

Быстрый полнотекстовый поиск в Rails приложениях

Ruby
Рано или поздно перед каждым сайтом (будь то социальная сеть, форум, блог или еще какое-то хранилище информации) возникает проблема поиска. Каждый разработчик решает эту проблему по-своему: одни пишут свои решения, другие используют готовые встраиваемые поисковики, третьи используют внешние решения, например сервисы от Google.

В этой статье мне хотелось бы рассказать о таком средстве поиска, как Ferret, и о том, как просто использовать данное решение в своем Rails-приложении.

и что же такое ferret?
Всего голосов 42: ↑36 и ↓6 +30
Просмотры5.4K
Комментарии 15

Пара граблей в Ruby [on Rails] (absolute noob's guide)

Чулан
Языки и технологии я изучаю методом умножения шишек на лбу. Набредете на такие вот грабли — хоть немного места на лбу сбережете.

ruby-debug-ide и mkmf


Убунтоиды могут столкнуться с такой бедой: при установке gem ruby-debug-ide установщик жалуется на отсутствие какого-то mkmf и отказывается продолжать. И sudo здесь ни при чем. Не ищите соответсвующий gem, загляните лучше в системный менеджер пакетов (aptitude, Synaptic или Adept или сильномогучие apt-get и dpkg :) ). Кроме вполне логичного для программистов build-essential должен быть установлен еще и ruby[X]-dev (где [X] — предпочитаемая вами версия Ruby, скорее всего у вас 1.8, т.е. пакет ruby1.8-dev). После его установки повторите команду на установку ruby-debug-ide, всё пойдет как по маслу.

Совет в принципе применяется ко всем библиотекам с native extension в сердце.

Поклонникам jruby придется избегать пакетов с native extensions — ищите версии пакетов, поемеченные -jruby.

habtm: id в таблице ассоциаций


habtm — это сокращенно has_and_belongs_to_many (будут проблемы — ищите на форумах и так, и этак). Ему нужна таблица ассоциаций, состоящая только из id двух связываемых объектов. И если от timestamps легко избавиться, то колонка id в качестве первичного ключа создается без нашего ведома и может попортить немало кровушки таким нубам как я. Чтобы избавиться от нее, не нужно делать одну лишнюю миграцию. Код создания таблицы ассоциации може выглядеть следующим образом:

class CreateOnesTwos < ActiveRecord::Migration
  def self.up
    create_table :ones_twos, :id => false do |t| # вон он, дополнительный параметр :id
      t.references :one
      t.references :two
    end
  end

  def self.down
    drop_table :ones_twos
  end
end
Всего голосов 8: ↑6 и ↓2 +4
Просмотры340
Комментарии 3

Ruby on Rails шаг за шагом. #1 Теория

Программирование
Ненадолго отставив серию статей о ЯП Ruby в сторону (1, 2, 3, 4, 5, 6, 7, 8, 9, 10), решил презентовать вам новый цикл о фрэймворке Rails. Набравшись некоторого опыта в «обучении» попробую вывести эту серию на уровень качества и продуманности несколько выше, чем прежде.

Целью первой части уроков по Ruby on Rails будет создание некоторого многопользовательского блога (аля Хабр). Также хочется отметить, что для этой первой части желательно иметь познание о Руби хотя бы на уровне трех-четырех капель. Хочется поскорей приступить к кодингу, но начинать все равно придется с теории.

Что такое Ruby on Rails (далее RoR)? Самый распространненый ответ – это базирующийся на ЯП Ruby (далее Руби) фрэймворк, который реализует шаблон (далее паттерн) MVC. Выделим два главных пункта из ответа:
  • Это фрэймворк на базе Ruby
  • Он реализует паттерн MVC
Разберем каждый отдельно.
Продолжаем
Всего голосов 60: ↑53 и ↓7 +46
Просмотры50.9K
Комментарии 39

Ruby on Rails шаг за шагом. #2 Рабочее место и первое приложение

Программирование
На этот раз мы развернем «полигон» девелопера RoR, поговорим о gem, сгенерируем и запустим первое приложение.

Instant Rails


Установка рабочего комплекта для Windows максимально проста, а все из-за того, что один щедрый программист по имени Курт Хибс уже собрал для нас все необходимое для разработки приложений RoR в одном пакете под название Instant Rails. В пакеты собраны:
  • интерпретатор Ruby,
  • движки БД SQLite и MySQL,
  • веб-сервер Apache (который, собственно, нам не нужен…)
  • и сами Rails

Устанавливаем рельсы
Всего голосов 36: ↑30 и ↓6 +24
Просмотры14.8K
Комментарии 90

Наглядная история Rails

Ruby
Теперь любой человек может посмотреть сколько труда было вложено в создание Ruby on Rails.
Вся git-история была перенесена в видео, используя code_swarm.


Источник
Всего голосов 40: ↑27 и ↓13 +14
Просмотры740
Комментарии 24

Ruby on Rails шаг за шагом. #3 Контроллер и Вид

Программирование
Итак, прошлый шаг мы закончили на том, что позволили RoR сгенерировать нам первое приложение test, на его базе мы и начнем знакомиться с возможностями фрэймворка. Как мы уже говорили, приложение RoR имеет строго определенную структуру, давайте посмотрим, для чего предназначены его папки:
Катимся по Рельсам дальше
Всего голосов 15: ↑10 и ↓5 +5
Просмотры18.5K
Комментарии 20

Доступ к документации по Ruby 1.9 из OS X Dictionary и Spotlight

Ruby
Priit Haamer эстонский Ruby разработчик опубликовал документацию по Ruby 1.9 в формате словаря для приложения Dictionary. С этой странички можно скачать Ruby dictionary. В таком же формате доступна документация по Ruby on Rails

Установка


Распакуйте zip в папку ~/Library/Dictionaries если хотите поставить словари только для себя. Возможно эту папку придется создать. Если хотите поставить словари для всех, то распакуйте их в папку /Library/Dictionaries.
Для того чтобы работал поиск по этим словарям из Spotlight откройте настройки Dictionary.app и перетяните необходимый словарь вверх потому что Spotlight ищет только по первому словарю из списка.
Всего голосов 6: ↑6 и ↓0 +6
Просмотры564
Комментарии 8

Покорим Ruby вместе! Капля тринадцатая

Программирование
Сегодня мы познакомимся с таким мощным и полезным инструментом Руби и компонентом RoR, как Active Record. Как часть RoR мы знаем Active Record из первого шага статей о рельсах (что-то эта серия не очень хорошо пошла, правда). Рассмотрим практическое применение компонента в Руби, что очень пригодится и в RoR.

Active Record придерживается принципов ORM: базы данных могут быть представлены в виде объектно-ориентированного кода, где таблицы — это классы, строки таблицы — объекты, а поля — атрибуты объекта. Однако Active Record отличается от других ORM библиотек, например, от Hibernate из Java, тем, что здесь нет необходимости начальной конфигурации — все работает «из коробки». Active Record написан на чистом Руби, что позволяет нам работать с ним, как с обычным классом: использовать наследование, переписывать методы, использовать метапрограмминг и др. Да, атрибуты объекта в большинстве случаев заполняются с помощью SQL-запросов и точно также атрибуты записываются назад в таблицу. Но все, что происходит между этими двумя процессами — обычная работа с объектом Руби. Стоит понимать «отдельность» существования записей базы данных и объектов Руби: подчас база данных будет отличаться от класса Руби.
Продолжим
Всего голосов 42: ↑34 и ↓8 +26
Просмотры11.3K
Комментарии 27

acts_as_conference 2009

Ruby
6 и 7 февраля в штате Флорида прошла очередная конференция посвященная Ruby и Rails. На сайте который специализируется на публикации видео с конференций связанных с Ruby были выложены записи выступлений.

Выступления на английском языке.

О каждом докладе я выкладываю краткую информацию: название, длительность, краткое описание и url. Прочитав этот RSS-образный набор данных вы сможете понять интересен ли доклад для вас или стоит просмтореть что-то другое.

Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры351
Комментарии 3

Индикатор загрузки файлов в веб-приложениях на Ruby on Rails

Ruby
Задача: показать как реализовать индикатор загрузки файла при различных конфигурациях Ruby on Rails:
Я разделю цикл статей на три части.
mongrel
mongrel(s)+nginx
mod_rails
часть I. mongrel
Всего голосов 24: ↑19 и ↓5 +14
Просмотры2.4K
Комментарии 15