使用Devise验证自定义URL而无需实际控制器/操作(Rails)

时间:2012-10-16 14:36:23

标签: ruby-on-rails devise

我在我的应用程序中使用Devise gem,它工作正常。

我使用omniauth对Twitter用户进行身份验证,并将http://www.mydomain.com/addtwitter用户中的用户类型重定向到Twitter身份验证页面。

在设计gem中,默认情况下,当用户加载页面/auth/twitter时,它会将用户带到授权页面。所以要自定义这个我在我的routes.rb文件中添加了以下代码。

match "/addtwitter" => redirect("/auth/twitter")

但我想只为登录用户提供/addtwitter功能。

如何在不实际创建rails中的控制器/操作的情况下实现此目的?

这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

在设计中,您可以指定仅适用于登录用户的路由。

authenticated :user do
  match "/addtwitter" => redirect("/auth/twitter")
end