我的应用有两个主控制器,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
是否有一个很好的实施方法可以普遍捕获所有一半输入的路径并尝试“完成”它们的路径?
E.g。如果用户键入管理员/商家/商店(缺少商家ID),我的智能路线知道他正在尝试访问他的商店页面,检查他的ID并填写,如果他有一个。