繁体   English   中英

Rails路由/多态问题-如何为以下模型建模

[英]Rails routing/polymorphism issue - how to model the following

我有一个应用程序,其中“用户”属于“客户端”或“供应商”(客户端和供应商has_many用户)。 在admin名称空间中,我要管理这些用户-管理员可以选择一个客户或一个供应商,然后导航到该客户或供应商的用户。 我的问题是,除了不能使用户模型具有多态性外,我该如何对其建模/路由?

这是我在路由方面的优势:

map.namespace :admin do |admin|
  admin.resources :clients
  admin.resources :vendors
end

我知道我可以做类似的事情:

map.namespace :admin do |admin|
  admin.resources :clients do |client|
    client.resources :users
  end
  admin.resources :vendors do |vendor|
    vendor.resources :users
  end
end

但是以上绝对需要我将用户视为多态的。

我只是想知道您会建议什么,或者我有什么选择。

谢谢。

我会尝试第二种解决方案,并像这样构建您的链接:

<%= 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.erbviews/admin/{vendors,clients}/_show.html.erb 您也可以将Array语法与表单等一起使用。这将非常简单,多态路由也应该没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM