2011-09-30 25 views
1

假設您有一個具有以下模型的應用程序:Book,Author,Publisher。在你的routes.rb你有標準:當你不知道它是什麼類型的模型時,如何訪問模型的edit_XYZ_path?

resources :books 
resources :authors 
resources :publishers 

在代碼中的某些時候,你有一個resource變量,或者是一本書,作者或Publisher,但你不知道。

我知道我可以通過做resource.class來訪問該類,但獲取編輯路徑的最簡單方法是什麼(例如,edit_book_path或edit_author_path)?

回答

2

我假設你只想爲了與link_to所以用它的路徑:

link_to 'Edit', [:edit, resource]

+0

真棒,謝謝!在我的特定應用中,編輯路由實際上有一個額外的參數(步驟),例如, 'get'edit(/:step)'=>'book#edit',:on =>:member,:as =>:edit'。你知道如何在這個語法中工作嗎? – cailinanne

+0

您必須使用更長的語法:'link_to'Edit',polymorphic_path(resource,:action =>:edit,:step => 1)'。 – James

+0

完美。謝謝! – cailinanne

相關問題