0
部分文件管理鏈接在我的應用程序有多個範圍(管理,交易員,經理,賣方)在Ruby on Rails的
在每個範圍之一,我想顯示在同一頁面(爲例:顯示賣家),但在這個頁面我有鏈接編輯賣家:
- admin_edit_seller_path(@seller)
- trader_edit_seller_path(@seller)
頁正是除了鏈接相同。 我該如何管理?
感謝
部分文件管理鏈接在我的應用程序有多個範圍(管理,交易員,經理,賣方)在Ruby on Rails的
在每個範圍之一,我想顯示在同一頁面(爲例:顯示賣家),但在這個頁面我有鏈接編輯賣家:
- admin_edit_seller_path(@seller)
- trader_edit_seller_path(@seller)
頁正是除了鏈接相同。 我該如何管理?
感謝
在這種特殊情況下,你可以使用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] %>
你讓我很快樂! – p0k3 2014-11-21 10:08:15
太棒了!這是幹掉一些代碼的好方法! – sealocal 2014-11-21 18:36:01