Последние 20% в Ruby on Rails - PullRequest
       0

Последние 20% в Ruby on Rails

5 голосов
/ 30 августа 2009

Я (довольно) опытный программист, но совершенно новый для Ruby и Ruby on Rails.

RoR отлично подходит для быстрой работы, особенно для автоматической генерации экрана для операций CRUD.

Это действительно помогает вам быстро работать.

Вопросы относятся к последним 20% работы, когда я должен закончить свое заявление. Разве соглашения RoR не будут мешать мне? Поскольку не каждая таблица базы данных должна быть доступна для всех пользователей, и не все пользователи могут редактировать все столбцы и / или все строки, а представления должны быть адаптированы к внешнему виду моего сайта и т. Д.

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

Ответы [ 4 ]

7 голосов
/ 30 августа 2009

Я не думаю, что леса там 80%. Scaffolding хорош тем, что показывает, как куски Rails сочетаются друг с другом, но я бы не стал создавать свое приложение из кода scaffolding. Теперь, когда на вас произвели впечатление строительные леса, лучше всего забыть об этом. :)

На мой взгляд, Rails действительно сияет: миграция базы данных , потрясающая динамичность ActiveRecord и экосистема плагинов.

Есть много чего узнать, когда решите пойти с Rails. У вас есть новый язык, новый фреймворк и новые плагины, но если вы потратите время на изучение этих вещей, вы сможете очень продуктивно работать с Rails.

5 голосов
/ 30 августа 2009

Я уже давно делаю рубин на рельсах. Проблема 80/20 не является уникальной для рельсов. Это относится в целом ко всему миру. Я также не знаю ни одной структуры, которая могла бы просто сделать бизнес-логику за вас.

Чтобы ответить на ваши конкретные вопросы. Соглашения не будут мешать вам при выполнении 20%. Вместо этого соглашения помогут вам пройти через эти 20% быстрее.

Лично для аутентификации пользователя я использую Authlogic. Для авторизации пользователя я использую плагин Lockdown или Authorization в зависимости от потребностей клиента.

В большинстве своих проектов я также использую attribute_resource для упрощения кода контроллера. Это еще одна сила соглашения.

Чтобы увеличить скорость разработки, вам понадобится не только знать Rails, но и создавать рельсы для гемов / плагинов, которые помогут вам, поэтому вам не придется заново изобретать колеса. Кроме того, знание языка Ruby является обязательным условием для быстрого развития за пределами 80%.

Ruby Toolbox предоставляет некоторые из самых популярных гемов и плагинов, используемых в типичных проектах rails, нацеленных на конкретные домены. Вы можете просматривать соответствующие категории и знать, что большинство людей используют. (И это, вероятно, хорошая идея использовать популярные, ухоженные драгоценные камни)

Разработка в стиле TDD / BDD также поможет вам ускориться в долгосрочной перспективе.

И, наконец, предупреждение: если вы отклоняетесь от конвенции по рельсам, вам вообще будет больно.

P.S. Я использовал Merb раньше. Мне кажется, что соглашения помогают вам в merb, но вы не получите слишком много штрафов за то, что не будете следовать им в merb. Тем не менее, мой опыт работы с Rails заключается в том, что если вы решите не следовать соглашению с rails при разработке приложения rails, оно вернется к вам так или иначе! Так что подумайте дважды, когда вы действительно пытались отклониться от условностей рельсов ... (Это из моего собственного опыта, и, конечно, субъективно, но вы можете думать об этом как о предупреждении ...)

1 голос
/ 30 августа 2009

Разве соглашения RoR не будут мешать мне? Потому что не каждая таблица базы данных должна быть доступным для всех пользователей, а не все пользователи могут редактировать все столбцы и / или все строки, и представления должны быть адаптированы под внешний вид моего сайта, и т.д.

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

Другой момент заключается в том, что условные обозначения являются просто условными обозначениями. Вы не должны следовать за ними. Вам даже не нужно использовать RoR для всего, хотя мне еще предстоит найти случай, когда я этого не сделал / не смог, обычно я стараюсь протолкнуть как можно больше в слои БД или кеша.

0 голосов
/ 30 августа 2009

Я не верю, что у вас когда-нибудь возникнут серьезные проблемы с соглашениями Rails. Просто придерживайтесь соглашений и доверяйте системе RoR. Люди, стоящие за Rails, приложили немало усилий, чтобы поддержать 99% сценариев общего использования.

Если вам действительно нужно сделать что-то за рамками соглашений, это в конце концов усложнится довольно быстро. Тем не менее, вы не одиноки. В сети есть много отличных ресурсов для получения помощи (например, сообщество StackOverflow).

Подводя итог:

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