Вложенные маршруты против сохранения текущих идентификаторов в сеансе?

#ruby-on-rails #ruby-on-rails-3 #routing #nested-resources

#ruby-on-rails #ruby-on-rails-3 #маршруты #вложенные ресурсы

Вопрос:

Выбираю Rails 3 для моего следующего веб-приложения.

В принципе, у меня есть набор вложенных ресурсов.

Пользователи => Приложения => Форма

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

Но затем я обнаружил вложенные маршруты в Rails 3 …. итак, какой из них лучше? У меня мог бы быть другой слой после форм, поэтому он был бы вложен 3 или 4 раза. Я столкнулся с этим ресурсом во время чтения руководств по railshttp://weblog.jamisbuck.org/2007/2/5/nesting-resources и я не знаю, как поступить.

Должен ли я использовать вложенные ресурсы с rails или просто начать использовать сеансы, поскольку у меня может быть большое количество вложенных ресурсов?

Ответ №1:

Сеанс закрывается, как только пользователь закрывает свой браузер. Итак, если вы хотите сохранить app_id только временно и только для этого текущего пользователя, сеансы — ваш друг.

Если вам нужны рабочие постоянные ссылки, а ссылка не имеет ничего общего с реальным пользователем, вам следует использовать ресурсы nestes.

Например, users/1/apps/5/... если у пользователя 1 всегда есть эти приложения, вы не должны обрабатывать это в своих сеансах. Если вы хотите, чтобы доступ был только у пользователя 1 users/1/apps/5 , вы могли бы справиться с этим с помощью сеансов / файлов cookie и вашей системы входа в систему.

Если вы беспокоитесь о длине URL-адресов из-за глубины ресурсов, просто следите за тем, что понятно и легко читается. Я не знаю цели вашего веб-приложения, поэтому я не могу сказать, разумно ли использовать «форму» в качестве ресурса «Приложений».