Что такое Rails (по соглашению) - PullRequest
0 голосов
/ 08 мая 2009

Развитие в рельсах иногда описывается как следование «рельсовому пути». Соглашение о конфигурации также является очень важным аспектом в рельсах.

Но каковы эти конкретные соглашения? Используя активную запись, например?

Ответы [ 7 ]

5 голосов
/ 08 мая 2009

Я бы посоветовал вам посетить therailsway.com :

The Rails Way - это все о преподавании «лучшие практики» в приложении Rails дизайн. Управляется Майклом Козярский, независимый консультант и член основной команды Rails и с большим опытом работы с обоими проектирование и создание сети приложения.

Вы также можете прочитать The Rails Way :

Используя подробные примеры кода, Оби систематически охватывает ключ Rails возможности и подсистемы. Он представляет передовое программирование методы, вводит с открытым исходным кодом библиотеки, облегчающие работу с Rails принятие и предлагает важные понимание тестирования и производства развертывание. Погрузитесь глубоко в Рельсы кодовая база вместе, выясняя, почему Rails ведет себя так же, как и заставить его вести себя так, как вы хотите.

2 голосов
/ 09 мая 2009

Я думаю, что «путь рельсов» или «путь рубинов» - это общепринятый синтаксис и практики, которые программисты использовали при написании на Ruby. Все языки имеют схожие виды «лучших практик» (например, «Pythonic» или нет).

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

Я думаю, что все языки имеют определенные пристрастия и сильные стороны, которые делают определенный «стиль» программирования для него популярным. Люди, мигрирующие языки, могут поначалу испытывать трудности, потому что они не научились писать на этом конкретном языке. Например, многие программисты, работающие в строго ОО-среде, могут не понимать, как map(), inject() или lambda работают в Ruby.

В Ruby / Rails используется множество соглашений, которые могут показаться чуждыми для других платформ. Лучший способ познакомиться с «ruby way» - это просто прочитать много исходного кода и сделать заметки о том, как люди, кажется, конструируют свои классы, процедуры, структуру файлов и т. Д.

Также чтение двух «Путей», упомянутых другими, не повредит. Я владею ими обоими, и они превосходные ресурсы.

2 голосов
/ 09 мая 2009

Вам не нужно следовать соглашениям, но вы будете намного счастливее, если вы это сделаете.

Планируйте структуру каталогов так, как ожидает Rails, и он автоматически знает, где искать вещи.

Назовите ваши таблицы как множественное число ваших моделей и включите столбец идентификатора, и он автоматически будет знать, как обращаться с вашими данными.

Называет ваших контроллеров, представлений и т. Д. Так, как он ожидает, и он позаботится о такой тяжелой работе, что, если бы у вас был выбор, вы бы с ума сошли.

Короче говоря, вместо большого гудящего конфигурационного файла, просто делайте то, что ожидает Rails, и «конфигурация» бесплатна. И это сделает вас счастливее разработчика.

2 голосов
/ 08 мая 2009
1 голос
/ 11 мая 2009

Я думаю, что несколько плакатов слишком сосредоточены на буквальных словах «рельсового пути» в вопросе.

ИМХО, на данный момент лучший способ изучить Rails - это использовать официальные руководства по Rails.

1 голос
/ 08 мая 2009

Rails был разработан DHH на 37signals. Они написали книгу о своих лучших практиках не только в кодировании, но и в таких вещах, как дизайн и бизнес. Вы можете прочитать это бесплатно онлайн. Это хороший способ начать смотреть на вещи с точки зрения разработчиков Rails.

1 голос
/ 08 мая 2009

Стоит помнить, потому что я споткнулся об этом на прошлой неделе и провел довольно много времени в неприятном замешательстве, так как любой столбец с именем, оканчивающимся на «_id», обрабатывается как внешний ключ и поэтому не включается в content_columns. Вполне разумно, но я потратил некоторое время на отслеживание того, почему мой код не экспортировал значение с именем "sg_deal_id". Теперь это "sg_deal_num" ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...