Программирование
Комментарии 90
+2
>собрал для нас все необходимое для разработки приложений RoR в одном пакете под название Instant Rails.

Думаю стоило бы рассмотреть и вариант «ручной» установки, хотя бы потому что у многих уже стоит (и настроен) и апач, и мускул и не хотелось бы сбивать настройки, тем более, возможно, устанавливать старую версию. Да трафик для некоторых не бесплатен, качать то, что заранее не нужно как-то не улыбается.

>Добро пожаловать в консоль! В ней переходим в папку с IR и запускаем use_ruby – этот bat файл пропишет нам необходимые пути в PATH, что сделает работу с RoR еще удобнее. Командуем: gem list

Не знаю, есть ли среди читателей те, кто не поймет эту фразу, или поймет неправильно, но я бы написал:
Добро пожаловать в консоль (Пуск->Все программы->Стандартные->Командная строка — здесь и далее в скобках команды для Windows, никсоиды сами должны разобраться:) ) В ней переходим в папку с IR (cd c:/ruby) и запускаем use_ruby (use_ruby.bat) – этот bat файл пропишет нам необходимые пути в PATH, что сделает работу с RoR еще удобнее…

>Так же хотелось бы узнать ваше мнение по поводу выпусков части уроков в виде скринкастов или презентаций.

Как основную форму подачи материала не хотелось бы
0
Спасибо! Я все исправил, дописал. А вообще Apache принципиально не нужен — есть свой отладочный веб-сервер, который займет свободный порт. И, как было написано в прошлой статье, Active Record делает нас независимыми от движка БД — с SQLite немного проще работать, но если есть MySQL, то изменятся только настройки БД в приложении
+1
По идее можете поставить RubyMine, но действовать он будет ограниченный срок. Хотя кто-то на хабре упоминал что ранние IntelliJ IDEA 7.* по EAP достаточно было переустановить чтобы продолжить работу.
0
RubyMine будет работать месяц, за это время выкладывается следующий EAP, который опять же работает месяц
0
Поддержу Benderlidze, NetBeans 6.5 отличная среда для разработки, пользуюсь дистром под *nix. Необходима установка небольшого расширения для RoR. Отличное управление проектом, скоростное выполнение, практически, всех операций через контекстное меню. Дебаггер, своя консоль…
+1
да и как вариант можно поставить NetBeans 6.5 рельса, руби и сервер уже встроены
0
Думаю было бы не лишним упомянуть о использование mongrel под win32 для запуска приложений в качестве сервиса.
0
@использование mongrel под win32@

причем тут NetBeans? — кроссплатформенное IDE
0
Вы чего курите, ребята?))

Я написал про то, что порой вместо того, что бы каждый раз запускать RoR приложение методом ruby script/server, удобнее установить его как сервис в винде (mongrel_service).
0
gem install mongrel
gem install win32-service
gem install mongrel_service
mongrel_rails service::install -N MyAppsServiceName -c c:\app\myapp -p 3000 -e production
0
Еще хотелось бы узнать о возможностях Ruby on Rails в целом. Я слышал, что с ним можно создавать только «однообразные сайты (системы)». Что у него абсолютно убогий шаблонизатор, что часть выдачи приходится хранить в коде и что верстальщику будет практически нереально самому натягивать верстку. Это правда? Или у меня устаревшая информация и все проблемы давно решены (или вообще никогда не стояли)?
0
«часть выдачи приходится хранить в коде » э… поясните пожалуйста смысл фразы. И посмотрите информацию о MVC (model-view-controller).

И «однообразные сайты» это про что?
0
Я знаю что такое MVC. А еще я работал с продуктами IBM и знаю как часто разработчики заявляют о 100% поддержки различный технологий и архитектур и что бывает на самом деле (то есть доверяй но, проверяй и что на деле все не так хорошо как обещали).
А еще ответ на ваш комментарий в комментарии к комментарию ниже. :)
0
Основываясь на том, что мне писали в прошлом «шаге», могу предположить, что имеются в виду хелперы
0
Видимо, у вас всё-таки устаревшая информация.

Мне тоже не очень понятно, что значит «однообразные сайты», но проблем с разнообразием сайтов я не встречал. Касательно шаблонизатора — ни в коем случае не считаю стандартный Erb убогим (у него есть проблемы с производительностью на действительно сложных шаблонах), но ничего не мешает подключить Haml-шаблонизатор, который работает значительно быстрее. Верстальщику для полноценной натяжки верстки необходимо немного (в пределах трех-четырех часов изучения) знать Ruby (уметь написать if и for) — в остальном там чистых HTML.
0
Прошу прощения, если я кого-то задел своими словами.
Я занимаюсь front-end. Для общего развития решил выучить какой-нибудь язык для того что бы охватить весь процесс разработки в целом. Вот выбираю.
У меня есть опыт работы c C#, Java (сраная WebSphere и портлеты).
Почему-то в моей дурной голове сразу зародились мысли:
1) Я не хочу учить perl
2) PHP слишком просто
3) хочу изучать либо C#, либо RoR, либо питона, (ну в крайнем случае Java).
Поскольку реальной цели нет, то и подход соответствующий (за это и прошу прощения).
Все что написано в предыдущем комментарии — ОБС (одна баба сказала). Приятель perl-ст старательно опустил RoR.
Про однообразные сайты. Была высказана мысль, что все возможности RoR представлены на сайтах basecamp и campfire. При это не просто все что можно сделать на RoR упрается в эти проекты, но и даже то как это будет выглядеть.
Про шаблонизатор сказали, что он крайне неудобен. Что полностью отделить данные и представление невозможно и в базе (или в скрипте) придется хранить еще и HTML (соответственно верстальщик работать с шаблонами самостоятельно может не всегда).

Буду рад если вы мне разъясните эти моменты.
Буду благодарен если дадите хороший совет относительно моего желания выучить какой-нибудь скриптовый язык (относительно выбора языка :)).
0
Простите. Зашел на www.rubyonrails.ru/ и понял о чем говорил приятель про однообразие. :)
У них один дизайнер? Или это стандартный шаблон?
У сайтов даже структура одна… Может быть реально все остальное сложно реализовать?
0
Это шаблон, который использовался с разрешения автора Rails. rubyonrails.ru — русскоязычное зеркало rubyonrails.org.
+1
Сейчас сканирую книгу «Ruby on Rails, быстрая разработка», могу потом переслать :) Хорошая книга для ознакомления.
0
Качните rails recipes, когда поднимите скилл по руби в целом.
Однозначно книга стоящая прочтения.
+1
Да что вы — никого вы не задели.

Что касается ваших альтернатив: я писал на C#, RoR и немного на Python. Субъективно мне больше нравится RoR (из-за обилия удобных мелочей при разработке), но C# (видимо, вы говорите об ASP.NET) — тоже очень и очень хорош, особенно в последних версиях. Про Python мне судить сложно, так как я не работал с Django (а это основной способ разработки веб-приложений на пайтоне). Вообще Ruby и Python во многом похожи с точки зрения синтаксиса (но пайтон работает быстрее).

Посоветовать вам что-либо довольно сложно: все три альтернативы весьма хороши (но если это вам важно, то бесплатный софт для разработки проще раздобыть для RoR и пайтона — хорошая Visual Studio стоит больших денег). C#, пожалуй, посложнее для новичка будет, но не в разы. В общем, выбирайте либо наугад, либо по тому же принципу, что и дистрибутив линукса — тот, который знает кто-либо из ваших хороших друзей (чтобы мог давать советы).

Возвращаясь к вашему мнению о rails: посмотрите, например, на сайты play-me.ru, carzzz.ru, linkfeed.ru — все они написаны на RoR, но у них мало общего с тем же BaseCamp. В общем, я не вижу каких-либо ограничений на разнообразии сайтов.

Про шаблонизатор: верстальщик может работать только с шаблонами (и не трогать другие файлы вообще), но иногда хочется повторяющийся HTML-код вынести в отдельные методы; верстальщик может писать одно и то же несколько раз, а может, действительно, написать вспомогательный метод (не в шаблоне, а в отдельном файле, доступном сразу всем шаблонам), который облегчит его работу. Не знаю, как эта проблема решена в Perl, но полагаю, что примерно так же. Но в базе хранить HTML не прийдется никогда.

Пример вспомогательного метода:
def user_link(id)
   "<a href='/users/#{id}'>Пользователь</a>"
end


0
В целом шаблонизатор гораздо симпатичнее, чем где бы то ни было, этап от получения верстки до внедрения в layouts, views и partials занимает очень малое время.

Если есть цель создавать «скины» для сайта дизайнером, то вполне подойдет Liquid.
+2
Было бы интереснее, если вы в своем будущем примере проектирования взяли не блог, а что-нибудь другое. Создание блога описывается почти в каждой книге по ROR, в официальном скринкасте по быстрой разработке — блог. У публики может сложится впечатление, что ROR это движек для блогов. Между тем, решение любой задачи — от фотогаллереи до интернет-магазина можно изящно и быстро продемонстрировать на примере ROR.
+1
Интернет-магазин — тоже неплохая идея, но уже освещен в Rails-библии Agile Web Development от Progmatic Programmers
0
Про многопользовательский блог, тоже хорошая книженция есть кстати.
Apress — Practical Rails — Social Networking Sites
0
Согласен насчет блога, могу предложить доску объявлений о работе (типа совсем не Jobeet :-D), ТЗ могу набросать
0
Почему бы Вам не прочитать Agile Web Development with Ruby On Rails? Мне дико интересно, какую почти каждую книгу по ROR вы прочитали, будучи до сих пор заинтересованным в такого рода статьях.
0
Я имел в виду интерес сообщества, а не личную заинтересованность. Agile Web development читал. И я буду рад любой хорошей статье о ROR на Хабре, даже если мне она не принисет ничего нового.
0
почему вы не написали как надо устанавливать rubygems 1.3.1 (вижу у вас на скриншоте)? ведь они по другому устанавливаются
gem install rubygems-update
update_rubygems
вот так
0
Поделюсь мыслью, которая меня посетила недавно.
RoR для веба — это как 1С для бухгалтерии.

По сути своей примерно несущий аналогичную функцию — перенести разработку на новый уровень абстрации кода дополняясь уже созданными и вылизанными готовыми блоками кода (модулями, плагинами, джемами) для ускорения процесса разработки.

Почему каждый раз на PHP, Parser 3, _ вставить другое _ каждый изобретает свой велосипед для банальных вещей, типа авторизации пользователей?
0
Плохая аналогия, авторизация пользователей спецефична для каждого приложения. Вы будете удивлены, узнав сколько плагинов для авторизации и аутентификации существует для Rails.

Даже пагинацию можно делать разными способами.
0
Это, в принципе, можно сказать о любом нормальном веб-фреймворке, будь он основан на PHP, Ruby или С#, как 1С-Предприятие является по сути фреймворком для решения задач учета (в большей степени) и аналитики (в меньшей).

А возможности изобретать велосипеды ни один нормальный язык, имхо, не должен исключать. Кстати, именно поэтому я просил автора теперь уже двух циклов не переходить быстро к рельсам, а немного поизобретать велосипеды для типичных задач при веб-разработке на чистом Руби. Мне очень не нравится тенденция смешения понятий языков и библиотек/фреймворков в веб-разработке. Говорим Руби — подразумеваем РоР, говорим Питон — подразумеваем Джанго, говорим С# — подразумеваем.нет
0
Мне кажется, вы нас не уважаете, если пишите как нужно установить программу. Интересно сколько будет шагов, если на втором шаге вы рассказываете такие несущественные вещи.
0
Всего три строки, на то, чтобы рассказать, что необходимо распаковать архив в определенную папку, запустить исполняемый файл, чтобы прописать пути и вырубить программу. Путь с пробелами — ничего не выдет, запустить просто консоль — не будет записан PATH, запустить user_ruby — тоже не выйдет, т.к. нет путей, запустили программу, чтобы записать путь, а она вам апач с мускулом загрузила, которые абсолютно не нужны. Я писал только самое необходимое
0
Мне всё-таки кажется что планку нужно брать несколько выше, потому что эта статья — ни о чём. Совершенно очевидная информация. Со всем этим каждый может справится самостоятельно.
Вот вся ваша статья:
$gem install rails
$rails test
$cd test
$script/server

А зачем нужна это вода — не понятно. И зачем качать какой-то старинный пакет, если мы будем использовать только половину его, а вторую половину нужно обновить тоже не понятно. И главное, не понятен смысл этого труда.
0
Смотрю по порядку:
— Instant Rails полезно тем, кто вообще в первый раз устанавливает дев-сервер
— gem — имхо, даже недостаточно подробно для тех, кто никогда не видел ни то что нормальной консоли, а даже «Командной строки», в мире Windows я не слышал понятия репозиторий, хотя знком с ней начиная с версии 3.0. Это после знакомства в прошлом году с Linux вообще и apt-get в частности мне понятно, что делает команда gem
— устанавливаем с нуля — лично моя инициатива, критично посмотреть не могу :)
— структура приложения — немного невнятное, но все-таки объясненое положение дел
— тестовое приложение (имхо, половину его надо было перенести в предыдущий раздел)]]

Еще смотрю на ваш «скриншот», непонятно, почему нет wget, tar… и т. п. или в вашем дистре рельсы включены по умолчанию?
0
Если Instant Rails последний раз обновлялся два года назад, то стоит ли о нём вообще говорить? Сколько лет будем мусолить мёртвый продукт?
gem это вообще отдельная история. Тут же не идиоты собрались которые не способны сами разобраться в простых вещах? Raby такой простой и элегантный язык, а статья — плевок в его идеологию :)
То есть мне хотелось бы уже видеть рельсы, а тут всё какое-то соплежуйство :)
Мне не кажется, что нужно быть гением, чтобы поставить софт. Это, чёрт возьми, всего лишь софт, и уделять этому столько внимания… ну это ппц просто.

Листинг… его можно дополнить двумя строками, я там забыл ещё «поставить» sqllite, но это всё равно в разы меньше и, по-моему, проще чем то, что написано в статье. Меня бы это только запутало…

Я не писал ничего на Rails, пока только интересуюсь, но тем не менее у меня не возникло никаких проблем с установкой. Зачем всё так усложнять?
0
Не два года назад, а чуть больше года назад, мы же не будем приводить 1,09 к 2? ;)

gem использует идеологию репозитарев пакетов, для многих windows программеров, админов, не говоря уж об юзерах она полностью не знакома. Я, например, c apt-get разбирался 5 суток, прежде чем понял, что все что мне нужно это коннект к интернету

Raby может и простой и элегатный, но если вы читали начало этих циклов, то вы могл заметить, что они для тех, кто только недавно осознал, что программу он может сам написать, а не только «бородатые колдуны в очках»

0
Хорошо… Есть люди которые не умеют пользоваться компьютером или текстовыми редакторами или браузером или не умеют читать. Всё это тоже нужно охватить? Можете не отвечать…
Я разочаровался отсутствием рельс в первой статье, и ждал их во второй, но во второй рельс тоже нет и подозреваю что не стоит рассчитывать и на третью…
-1
Я вас прошу, вы не беспокойтесь — все будет, просто статьи рассчитаны для начинающих, и если они сразу не поймут мелочи — дальше ничего не будет получаться. Вам действительно просто стоило переждать пару статей ;)
0
а можно просто в системные переменные добавить путь к ruby, тогда не будет необходимости запускать скрипт. Кстати, рекомендовал бы вам написать еще о том как установить (и как его использовать) git для windows (хотя бы) и как настроить его для github.com, новичкам наверняка это будет полезно
+1
у меня тут почти оффтопик, но все же
когда делаю скаффолд
script/generate scaffold news title:string body:text

возникает адская ошибка из-за того, что при создании скафолда рельсы пытаются перевести название «news» во множественное число и это не выходит, как это обойти?
0
в рейльс 2-й и выше версии не надо вводить отдельно имя для контроллера и для модели
0
Обойти можно, если сделать script/generate scaffold New title:string body:text
Тогда plural отлично подойдет
0
Это адская заглушка, я даже пробовал выключить plural для моделей, но не спасает, и даже вписывал для uncountable все равно шляпа
0
Это костыль, а не решение проблемы.

p.s. Давайте теперь из-за невозможности называть вещи своими именами придумывать им другие :(
0
К сожалению и этот костыль сломался

NameError in News#index

Showing app/views/news/index.html.erb where line #24 raised:

undefined local variable or method `new_new_path' for #<ActionView::Base:0xf71abbb4>

Extracted source (around line #24):

21:
22:
23:
24: <%= link_to 'New new', new_new_path %>
+1
localhost:3000/news/new

ActionController::RoutingError in News#new

Showing app/views/news/new.html.erb where line #3 raised:

news_url failed to generate from {:action=>«show», :controller=>«news»} — you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: [«news», :id] — are they all satisfied?

Extracted source (around line #3):

1: New news
2:
3: <% form_for(@news) do |f| %>
4: <%= f.error_messages %>
5:
6: вот такую канитель сыплет
0
я нуб в рельсах, поэтому найти баг приравнено к не понять, всей генеальности разработчиков :)
p.s. я видимо что-то не так делаю
p.s.s. если я один такой ненормальный решил сделать урл /news/ генерируя скаффолдами :)
+1
У слова News (как не странно, это единственно число) действительно множественного числа нет :(
0
тогда почему же не работает следующая конструкция?
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable %w( news )
end

в файле config/initializers/inflections.rb

p.s. может еще чего подкрутить нужно?)
0
еще момент не пашет только def new
list
show
update
destroy

пашут вполне вменяемо
p.s. Может дело в том что нельзя делать имя модели New?
НЛО прилетело, и опубликовало эту надпись здесь
0
Aptana действительно плоха.

Если вам с Windows некуда деваться, осваивайте Emacs или Vim (никогда не поздно начать); в крайнем случае, если без IDE не можете, NetBeans.
+1
А чем это плоха? Спасибо, но мне Фара хвататет уже как 7 лет.
0
фар — отличная IDE )
сам пользовался им и даже написал подсветку синтаксиса, однако подумайте, сколько открытий новых вам предстоит сделать, если узнаете что:
* можно стартовать/останавливать сервер без выхода из редактора, просто хоткеем.
* можно прыгать к нужному файлу в проекте буквально моментально
* можно открывать view, partial соответствующий данному контроллеру хоткеем
* можно делать deploy проекта на сервер
* можно управлять системой контроля версий
* можно запускать процесс тестирования хоткеем
* банальный автокомплит
и многое, многое другое.
0
Ну как бы все это есть в аптане, а фар я использую для php проектов, где все эти фичи как бэ нафиг не нужны вовсе.
0
А как у него сейчас с поддержкой UTF? Пару лет назад именно из-за нее ушел от FAR к навороченным IDE…
0
Вот теперь видно, что статью Вы писали сами.
Кто еще горит желанием установить Instant Rails? какого оно, 2005-го года, верно?
0
последняя версия IR 2.0 28.12.2007, да в принципе это не имеет значения.
Только полноправные пользователи могут оставлять комментарии. , пожалуйста.