我正在使用 rails 3。我的整个应用程序仅限于使用 Devise 2.2 的注册用户。
我的要求:能够说“用户想要在订阅时显示项目 X(如 item/:id 是请求的 url)”。只要有可能,它就会告诉用户在注册时想要查看的应用程序的哪个项目。
示例:约翰单击 www.website/item/48 链接,但他没有注册到系统中。在设计将他重定向到设计登录页面后,他注册并被重定向(标准设计行为)到 www.website/item/48。稍后,该站点的管理员能够看到用户 john@whatever.net 创建了一个帐户,因为他想查看项目 48。
目前设计是最经典的设置方式,before_filter :authenticate_user!
在我所有的控制器中都有一个。登录/订阅页面与默认页面类似,但设计除外。
我已经覆盖了设计的默认注册控制器:
class RegistrationsController < Devise::RegistrationsController
def new
super
logger.debug"--------------------------------"
logger.debug session.inspect
logger.debug params.inspect
logger.debug resource
logger.debug"--------------------------------"
end
def create
super
logger.debug"-----------------------------------"
logger.debug session.inspect
logger.debug params.inspect
logger.debug resource.inspect
logger.debug"-----------------------------"
end
end
我不知道如何从 Devise 获取请求的 URL。在新操作期间,我可以在会话变量中看到它,但是一旦创建,我就找不到它。
如何在设计的创建操作中获取并保存请求的 URL?