在博客应用程序中,我希望每个用户都可以访问表单来发表评论。
当用户提交评论表单时,如果未登录,他将被重定向到 Devise Sign_in 表单。
before_filter :authenticate_user!, :except => [:index, :show, :new]
用户登录后,如何将他重定向到评论表单并填写所有字段?
提前致谢
最佳答案
如果您希望用户在每次登录后都进入评论表单,请在 ApplicationController 中添加:
#after_sign_in_path_for is called by devise
def after_sign_in_path_for(resource_or_scope)
comment_path...
end
如果您想让用户返回到登录前所在的页面,您可以在 session 中保存当前的 Controller +操作并重定向回来:
session[:pre_login_controller] = params[:controller]
session[:pre_login_action] = params[:action]
然后:
def after_sign_in_path_for(resource_or_scope)
if session[:pre_login_controller] && session[:pre_login_action]
"#{session[:pre_login_controller]}/#{session[:pre_login_action]}"
else
some default path -- root url or comment path etc
end
end
关于ruby-on-rails - Rails 3 - 设计在登录后重定向到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704955/