2011-09-30 39 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

相关问题