admin命名空间中的redirect_to对象

tyb*_*103 9 redirect routes ruby-on-rails ruby-on-rails-3

在Rails中,redirect_to如果您已将对象声明为路径中的资源,则可以将对象传递给:

redirect_to @post
Run Code Online (Sandbox Code Playgroud)

我有一个Attachment属于所有者的多态对象.@attachment.owner可能是任何对象.我需要重定向到附件的所有者,但附件及其所有者都是admin命名空间中的资源:

namespace :admin do
  resources :attachments, :posts, :comments #etc
end
Run Code Online (Sandbox Code Playgroud)

如果我知道这@attachment.owner是一个帖子,我可以redirect_to admin_post_path(@attachment.owner),但因为它可能是任何对象,我该怎么做重定向?

Fle*_*oid 9

您可以使用 polymorphic_path

polymorphic_path([:admin, @attachment.owner])
Run Code Online (Sandbox Code Playgroud)

  • `redirect_to [:admin,@ attachment.owner]`做了伎俩.谢谢! (17认同)