我经常在我的控制器中使用require_admin!
。它很棒。
现在,我想像这样添加命名路由:
# config/routes.rb
match "poniesandrainbows" => redirect("https://poniesandrainbows.com")
# ^sadly, not really a website, btw.^
如何限制对该路线的访问?这可能吗?显然它会重定向到公共URL,但我仍然希望将路由保密。
答案 0 :(得分:1)
应该将这种功能封装在控制器中。路由器处理将请求传递给正确的控制器的管道。控制器的工作是正确地弄清楚如何处理请求。在这个原因中,控制器将使用auth服务(例如require_admin!)来确定是否允许用户被重定向,或者它们是否对另一个命运感到沮丧。
答案 1 :(得分:1)
您无法限制路线的访问权限。
将“poniesandrainbows”与控制器匹配的最安全方法,您可以使用require_admin!然后将它们重定向到公共网址。
您可以尝试在前端解决问题。也许只显示管理员用户的链接。 它不会阻止其他用户将链接直接粘贴到他们的浏览器网址
答案 2 :(得分:1)
实际上这是可能的,尽管其他海报很少提到一个好主意。您可以在此博客文章中了解如何:(向下滚动到路线部分)
http://collectiveidea.com/blog/archives/2011/05/31/user-centric-routing-in-rails-3/