[英]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.erb
或views/admin/{vendors,clients}/_show.html.erb
。 您也可以將Array語法與表單等一起使用。這將非常簡單,多態路由也應該沒有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.