如何隐藏公共访问的某些路线?

时间:2015-12-24 12:08:05

标签: ruby-on-rails ruby-on-rails-4 devise

我正在使用Rails 4上的应用程序并使用带有自定义注册控制器的设备。我在注册之后但在确认他们的电子邮件之前将用户重定向到某个路线。

但是,此路由在路径文件中定义,可以公开访问。有没有办法让这条路线成为私有的,所以它只能通过应用程序控制器来实现?或者可能是一种渲染视图而不定义路径的替代方法?

2 个答案:

答案 0 :(得分:0)

您需要为请求 - 响应周期编写路由,并且每个请求都通过应用程序控制器传递。

如果您不想提供对特定路线的访问权限,可以在应用程序控制器中使用 before_filter

before_filter :restrict_use

def restrict_user
 unless current_user.allowed?
   redirect_to root_path
 end
end

它的工作方式与设计 before_filter:authenticate_user!方法相同

答案 1 :(得分:0)

   before_action

然后重定向逻辑,或阅读

   hide_action

http://apidock.com/rails/ActionController/Base/hide_action/class