Rails - один главный контроллер перенаправления для всех полуобработанных маршрутов? - PullRequest
2 голосов
/ 27 февраля 2012

У меня есть два основных контроллера для моего приложения, AdminController и ApplicationController.

Мои правильные маршруты: /admin/merchant/1, admin/merchant/1/shop/1 (только для вложенных 1-го уровня = P)

Однако многие пользователи будут набирать site.url/admin или site.url/merchant для удобства.

Прагматично ли match несколько маршрутов к методу в моем контроллере администратора и маршрутизация их в зависимости от пользователя? т.е. match "/admin" => "admin#route_me"

 before_filter :require_login

  def route_me
    if current_user.role?(:merchant)
      redirect_to admin_merchant_path(current_user.merchant)
    elsif current_user.role? :customer
      redirect_to admin_customer_path(currrent_user.customer)
    end
  end

Есть ли хорошая реализация для универсального перехвата всех наполовину введенных маршрутов и попытки "завершить" путь для них?

например. если пользователь вводит в admin / merchant / shops (отсутствует идентификатор продавца), мой интеллектуальный маршрут знает, что он пытается получить доступ к странице своего магазина, проверяет свой идентификатор и заполняет его, если он у него есть.

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