使用Rails 3创建第一,登录或注册后
在通常的应用程序,表单才会出现,如果用户登录后,可在控制器中,我们将在验证运行另一个检查,我们保存新的前记录。
但是,无论他是否登录,我都希望向所有人显示该表单。当访问者提交附件等表单时,它会检查用户是否已登录。如果他不是,那么将他重定向到登录/注册页面,当他完成时,只有这样才能保存新记录。
我知道这可以通过create
和save
来实现,但有人可以更详细地阐述如何在更清晰的解释中达到此目的吗?
使用Rails 3创建第一,登录或注册后
在通常的应用程序,表单才会出现,如果用户登录后,可在控制器中,我们将在验证运行另一个检查,我们保存新的前记录。
但是,无论他是否登录,我都希望向所有人显示该表单。当访问者提交附件等表单时,它会检查用户是否已登录。如果他不是,那么将他重定向到登录/注册页面,当他完成时,只有这样才能保存新记录。
我知道这可以通过create
和save
来实现,但有人可以更详细地阐述如何在更清晰的解释中达到此目的吗?
运行定期作业来清理旧的未声明表单数据。
嗯,在视图中,你会显示表单总是没有任何形式的登录检查。这里棘手的部分是保存用户在重定向到登录之前发送的数据。
一个解决办法是到后期数据保存在cookie中,然后将用户重定向到登录后在同一个页面,引发再次创造
在像你描述你会做完全控制:
class ThingController
def create
if user_logged_in?
if cookie[:stuff]
# create the stuff from cookie and remove it
else
# create the stuff
end
else
# redirect him to login with a callback to this same place
end
end
end
坚持部分对我来说是新的。任何例子? – Victor
persists =='save' –