2014-11-21 149 views
0

部分文件管理鏈接在我的應用程序有多個範圍(管理,交易員,經理,賣方)在Ruby on Rails的

在每個範圍之一,我想顯示在同一頁面(爲例:顯示賣家),但在這個頁面我有鏈接編輯賣家:

- admin_edit_seller_path(@seller) 
- trader_edit_seller_path(@seller) 

頁正是除了鏈接相同。 我該如何管理?

感謝

回答

1

在這種特殊情況下,你可以使用Rails的Polymorphic Routes

例如:

new_polymorphic_path(@manager)    # => "/managers/new" 
edit_polymorphic_path(@seller)    # => "/sellers/1/edit" 
polymorphic_path(@trader, format: :json) # => "/traders/1.json" 

或者在你的情況下,後者的範圍,你可以使用這種形式:

edit_polymorphic_path([:admin, seller]) # => "http://example.com/admin/sellers 
polymorphic_path([:trader, seller]) # => "http://example.com/trader/sellers 

這意味着你可以在視圖中使用它:

<%= render partial: 'shared/my_partial', locals: {scope: :admin, object: @seller} %> 

這在部分:

<%= link_to edit_polymorphic_path([scope, object]), [scope, object] %> 
+0

你讓我很快樂! – p0k3 2014-11-21 10:08:15

+0

太棒了!這是幹掉一些代碼的好方法! – sealocal 2014-11-21 18:36:01