簡體   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