Ruby on rails 铁路4的路线

Ruby on rails 铁路4的路线,ruby-on-rails,Ruby On Rails,我想解决一个关于Rails中路由的问题。存在具有角色的“用户”模型:User.restaurant\u owner?和用户。商店老板?。用户仅是管理员。还有一个超级用户(我)。我希望当用户输入”时http://somesite.com/his_name“其请求由“餐厅”或“商店”控制员根据其角色和姓名进行处理。例如,他输入“”并从“”获取视图,因为“stanly”是id为“5”的餐厅的所有者;如果他输入“”并从“”获取视图,因为“marylin”是id为“101”的店铺的所有者。 我想这样做,因

我想解决一个关于Rails中路由的问题。存在具有角色的“用户”模型:User.restaurant\u owner?和用户。商店老板?。用户仅是管理员。还有一个超级用户(我)。我希望当用户输入
”时http://somesite.com/his_name“
其请求由“餐厅”或“商店”控制员根据其角色和姓名进行处理。例如,他输入“”并从“”获取视图,因为“stanly”是id为“5”的餐厅的所有者;如果他输入“”并从“”获取视图,因为“marylin”是id为“101”的店铺的所有者。 我想这样做,因为我想显示用户友好的URL,但我的系统非常大,有10个类别(餐馆、咖啡馆、商店等)。每个类别都有不同的管理面板布局和操作

请给我一些建议。谢谢

更新:

主人只能看到他的地方。
有一些带有“所有者id”字段的餐厅、商店等模型。

首先,因为所有者只能看到自己的位置,因此只有登录的用户才能访问
http://somesite.com/his_name

其次,您需要在
routes.rb中包含此内容

get "/:username" => "users#user_place"
那么,我假设你有下面使用的所有类。在您的
users\u controller.rb
中,代码如下:

def user_place
    # suppose you are using Devise, you should be able to use `current_user`
    # authenticate user before this method
    unless current_user
        redirect_to new_user_session_path
    end

    restaurant = Restaurant.find_by_user_id current_user.id
    if restaurant.present?
        redirect_to restaurant
    end

    # similar code for your other categories
end

你能告诉我们你的应用程序中有哪些不同的模型,这些模型清楚地说明了如何做到这一点吗?我只有一个模型-具有不同角色的用户。我需要知道如何通过计算从一个URL呈现到另一个URL,因为你没有针对不同类别的模型,例如商店、咖啡馆、,餐厅?您的描述暗示给定用户只拥有一家企业。这是正确的吗?