Да, 4е издание как раз по 3м рельсам и сейчас оно в статусе beta. Но если не смущают электронный варианты книги, то уже сейчас ее можно спокойно читать, не смотря на то, что beta.
Ссылка, по которой можно купить книгу, есть на сайте книги (в статье он есть).
А скачивание… Я решил оставить поиск ссылки на совести тех, кто не хочет(не может) купить книгу.
В дополнение к предыдущему комментарию:
То есть мы просто пишем в консоли rails generate scaffold Article title:string body:text published_at:datetime
и сразу после этого имеем возможность добавлять/смотреть/редактировать/удалять статьи браузере.
Контроллер, миграция, соответствующие шаблоны с формами — всё это написано за нас.
Миграции нужны для того, что бы версионировать структуру базы данных. Например Вы хотите создать модель. Для этого нужна таблица в БД. Что бы на production сервере не создавать её руками Вы пишете миграцию, которая будет эту таблицу создавать.
Если снова нужны изменения в структуре БД — Вы снова пишете миграцию. Таким образом мы получаем набор миграций. В rails есть возможность запустить на выполнение все доступные миграции в порядке, в котором они создавались и получить нужную структуру БД.
Миграции пишутся на ruby, что позволяет во многих случаях использовать их для других БД, т.е. Вы разрабатывали для sqlite, а потом выполнили для MySQL, и всё работает.
Миграции можно выполнять как вперёд (например создать таблицу), так и назад (удалить эту же таблицу). Это позволяет переходить к определённым версиям, если можно так выразиться.
Есть отличный, недавно вышедший учебник по Rails 3, охватывает все аспекты разработки и бесплатный для чтения online. Так же есть pdf версия и cкринкасты именно под него. Очень рекомендую
Ребят, не сочтите за попытку холивара, но может быть фанаты рельс могут подсказать в чем преимущество по сравнению с Джангой и вообще руби по отношению к питону?
Не знаю как дела обстоят в Джанго, но в рельсах, нравится метод «постепенного» развития схемы БД через миграции.
Если собрать с каждого фаната рельсов по одному, что им больше всего нравится, будет вам своеобразный, субъективный список преимуществ рельсов.
не думаю, что стоит их противопоставлять, удачные решения имеют свойство переносится из одной системы в другую, если есть возможность, лучше изучить обе, для кругозора. Если нет — просмотреть как решаются те или иные задачи, где подходя кажется яснее и логичнее — то и брать.
Руби по отношению к питону — тут кому что больше нравится. Я, например, нахожу синтаксис руби красивым и логичным, а питоновский по сравнению с ним, довольно корявым и местами явно антилогичным и искусственным. А есть люди, которые думают ровно наоборот :). Пока не попробуешь — не узнаешь.
Джанга построена несколько на других принципах, чем Рельса поэтому лобовое сравнение вряд ли получится.
А преимущества — какие преимущества вы ищите? :) Если не в вебе, а на десктопе, то в питоне, например, есть PyQt, а в руби только жалкое подобие Qt'шного биндинга, что меня периодически огорчает (наоборот преимущество у питона). А так… Не знаю…
на сегодняшний день рельсы самый передовой фреймворк, он похоже обогнал даже свое время. Однако востребованность на сегодняшний день невысокая. Складывается ощущение, что для создания сайта есть только php. По крайней мере, если посмотреть списки заказываемых проектов, то это на 80% пхп. Заказчики зачастую просто не знают ничего больше.
давай на чистоту) Профессиноалов на rails рынке много меньше чем новичков — хотя бы потому что рельс и его плагины познавать надо года 3.
Создать готовый продукт на пхп может новичок сразу, пусть с говнокодом, готовый продукт на рельсах — после 2х полных переписываний и бессоных ноччей.
рельсы не против пхп, рельсы против java и asp. У пхп раз и навсегда своя ниша.
написать простое приложение проще, чем на любом пхп фреймворке. Пхп интерпретатор стоит на всех апаче серверах и поэтому создав файл с расширением .php и написав
в файл с расширением php получаем минимально работающее пхп приложение. С руби другая история. Для того чтобы поставить фреймворк, нужен vps. А дальше, после выхода passenger 3, все просто, запускаем в приложении passenger start и все работает.
наверно правильно будет сказать что
1. унификация, захват руби рынка — поглощение merb. Если хочешь сделать серьезный сайт на руби никаких сомнений — rails
2. упрощение синтаксиса во всех отношениях. вместо config.gem -> gem, map.connect в match. bundle. rack совместимость
Минус- огромное раздутие. the most over-hyped framework. Ever(http://ihaterubyonrails.com/)
Т.е. когда берешь рельсы на проект думаешь все безоблачно и прикольно, надо просто писать красивый код. Но рано или поздно сам запутываешся в rails magic :)
Таки со временем вся магия в голове встаёт как «данность».
Помню некоторое время назад сравнивал ZF и Rails, не в пользу последних. После 2х месяцев работы над rails-проектом, писать на ZF нет никакого желания.
Обзор книги «Beginning Rails 3»