Правильная RESTful маршрутизация для применения рельсов? - PullRequest
1 голос
/ 31 августа 2009

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

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

Первое, что я сделал, - перебрал несколько хороших приложений и проверил, как они построили свою структуру маршрутизации. В Твиттере есть хорошие, я заметил, что они создали сеанс для каждого входа в систему, и вся следующая маршрутизация основана на корневом уровне, так что пользователь / учетная запись наследуется ему. (т.е.: http://twitter.com/status/update) <Ч /> Ну, основная структура моего приложения:

аккаунт / блоги / # {id} / pages / # {id} ... и т. Д. *

На самом деле владелец учетной записи может быть разработчиком или простым пользователем, в то время как разработчик имеет больше возможностей для работы. Но это та же самая модель только с attr developer: Boolean , устанавливающим его разрешения.

Аккаунт {: id,: имя пользователя,: электронная почта,: разработчик}

Итак, мой вопрос: Какой лучший способ создать несколько хороших маршрутов для создания этой учетной записи, если у меня есть два разных типа пользователь / разработчик ?

Я думал, будет ли это правильно:

/ account / create для простых пользователей

/ account / create? Type = developer для разработчиков

Могу ли я использовать дополнительные параметры, объявленные в почтовом запросе или, по крайней мере, в GET для отображения формы?

<ч /> И в то же время я проверил некоторые руководства и прочитал о маршрутизации RESTful где у нас может быть что-то вроде:

счета / 1 / блоги / 1 / страницы / 1

но, например, сайт stackoverflow.com работает следующим образом:

/ users / 165750 / ludicco и / users / edit / 165750

Так что он использует немного другой порядок. это правильно отформатированный способ сделать это?

<Ч />

Извините, но я немного растерялся, поэтому я пока не знаю, как действовать в этой области. Любая помощь или советы по этому поводу будут высоко оценены.

Заранее спасибо

1 Ответ

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

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

создать: так как вы публикуете имя / адрес электронной почты / и т. Д. данные, я бы опубликовал флаг разработчика также. Мне нужно знать больше о вашей форме, чтобы сказать, является ли параметр разработчика хорошей идеей; это действительно не имеет большого значения в этом случае. Я бы сказал, если это флаг в вашем представлении формы регистрации, параметр хорош, и если это действительно разные страницы, другой базовый URL будет иметь больше смысла.

обычные страницы: Ваш accounts/1/blogs/1/pages/1 очень понятен людям и должен быть легким на машинах. Stackoverflow использует более компактную запись с некоторой избыточной информацией, чтобы помочь людям и поисковым системам. Используйте то, что вам больше нравится.

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