Команды и соглашения Ruby on Rails - что это такое?
Я делаю сайты на PHP и MySQL уже почти десять лет, но я никогда не использовал фреймворк. Это означает, что я вручную все написал и знаю, как код работает и взаимодействует сам с собой.
Желая расширить свой кругозор, я выбрал Ruby on Rails, чтобы выучить другой веб-язык, фреймворк, БД и т. Д. Я следовал учебному пособию по Ruby on Rails, и пока все идет гладко, но что меня беспокоит, так это черный ящик чувствует. там слишком много магии, и все происходит просто потому, что так и есть. Пример этого "волшебства" включает, если я добавляю в файл маршрутов "resources: users", то внезапно у меня появляются почти бесконечные возможные ссылки, такие как /new /user/1 /user/1/edit и т. Д. Или, если я хочу добавить столбец в мою таблицу БД Я должен сделать что-то вроде этого в консоли "rails integrate _to_table value:type", а затем я должен "грабли" БД.
Я смог сделать материал после урока, но я не понимаю, что я делаю. Я знаю, что часть этого придет через опыт, но я хочу знать, как и почему Rails делает то, что делает.
Какие хорошие ресурсы, онлайн и книги, где я могу узнать, как работает RoR?
4 ответа
Да, требуется некоторое время, чтобы понять, в чем заключается вся магия, но в конечном итоге вы добьетесь этого, если будете придерживаться этого.
"Библия" для разработки ruby по рельсам: http://pragprog.com/book/rails4/agile-web-development-with-rails
"Библия" для самого рубинового языка - это книга "кирка" с участием самого автора на рубиновом языке. http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177
Райан Бэйтс сделал сотни бесплатных сцен, и он известен тем, что у него был действительно отличный подход, эффективно использующий фреймворк. Каждый хороший рубин это высоко. http://railscasts.com/
Многие люди находят курсы "зомби" действительно хорошими. http://railsforzombies.org/
Наконец, я предложу свой собственный сайт закладок с более чем 50 сайтами для рельсов:
http://www.rormd.com/linker/groups/1
и более 20 сайтов для рубина на
http://www.rormd.com/linker/groups/4
Пока вы учитесь, хорошая IDE может сильно помочь. Я использовал eclipse, затем netbeans, а затем rubyMine (от нашего друга из IntelliJ, известного своим редактором java. RubyMine обладает большинством функций. Это не бесплатно, но по цене (где-то в диапазоне от $24 до $75, в зависимости от специальных предложений) это того стоит.
Это для новичков, если они хотят изучать ruby на рельсах, даже не знают Ruby. Я могу сказать, попробуйте это сначала и перейти на чужую книгу.
Просто нажмите на ссылку ниже и увидите, что для Ruby on Rails 3.0 и 3.2 доступны два руководства.
Ссылка Ruby on Rails Tutorials для Rails 3.0 и 3.2
для этих уроков вам не нужны фоны Ruby
даже мне нравится Head First Rails, эта книга также хороша для понимания - только рельсы (без TDB), поэтому вы можете установить начальную в среде rails, а затем перейти по ссылке выше.
Вы можете увидеть весь код на Github http://github.com/rails/rails.
Приложение Jose Craim Book Crailing rails помогает понять многое из внутреннего в рельсах
Я бы сказал, что использование терминов "черный ящик" и "магия" является совершенно неадекватным и, возможно, даже немного устаревшим. Я полагаю, что разница, которую вы чувствуете, заключается в том, что Ruby - это совершенно другой язык, чем PHP, и что в Ruby проще кодировать абстракции и соглашения высокого уровня, чем в PHP. Rails полон этих абстракций и соглашений, и они могут быть довольно запутанными, особенно если у вас нет представления о том, как они внутренне работают.
Может быть, дело не в Rails, что вы должны читать. Я бы сказал, что вы должны попытаться понять Ruby. Хорошее понимание его блоков, объектной модели и миксинов является обязательным для того, чтобы чувство "черного ящика" исчезло.
Программирование на современном языке программирования - это не черная магия. Отладка кода на Фортране путем распечатки кода и использования кристаллов на листах бумаги, чтобы найти ошибки.