Ruby on rails Rails路由/多态性问题-如何对以下内容建模
我有一个应用程序,其中“用户”属于“客户”或“供应商”(客户和供应商有很多用户)。在admin名称空间中,我想管理这些用户——因此管理员会选择一个客户机或供应商,然后导航到该客户机或供应商的用户。我的问题是,除了使用户模型具有多态性之外,我如何对其进行建模/路由 以下是我在路线方面的经验: map.namespace :admin do |admin| admin.resources :clients admin.resources :vendors end map.namespace:admin do | admin| 管理资源:客户 管理资源:供应商 结束 我知道我可以这样做: map.namespace :admin do |admin| admin.resources :clients do |client| client.resources :users end admin.resources :vendors do |vendor| vendor.resources :users end end map.namespace:admin do | admin| admin.resources:客户不需要|客户| client.resources:用户 结束 admin.resources:供应商做|供应商| 供应商资源:用户 结束 结束 但是上面肯定需要我将用户视为多态的 我只是想知道你会推荐什么或者我有什么选择Ruby on rails Rails路由/多态性问题-如何对以下内容建模,ruby-on-rails,ruby,routing,polymorphism,Ruby On Rails,Ruby,Routing,Polymorphism,我有一个应用程序,其中“用户”属于“客户”或“供应商”(客户和供应商有很多用户)。在admin名称空间中,我想管理这些用户——因此管理员会选择一个客户机或供应商,然后导航到该客户机或供应商的用户。我的问题是,除了使用户模型具有多态性之外,我如何对其进行建模/路由 以下是我在路线方面的经验: map.namespace :admin do |admin| admin.resources :clients admin.resources :vendors end map.namespace:
谢谢。我将尝试第二种解决方案,并构建如下链接:
<%= link_to @vendor_or_client.name, [:admin, @vendor_or_client, @user] %>
意思是:魔力来自数组语法自动。渲染也是如此:
<%= render [:admin, @vendor_or_client, @user] %>
<%= render [:admin, @vendor_or_client] %>
它将分别自动呈现views/admin/users/_-show.html.erb
或views/admin/{vendors,clients}/_-show.html.erb
。您还可以将此数组语法用于表单等。这将非常简单,您应该不会遇到多态路由的问题