用户编辑/提交是否有等效的“after_sign_in_path_for”?

时间:2012-03-27 17:43:41

标签: ruby-on-rails devise

使用devise-2.0.4.gem运行Rails 3.2.1。

是否存在类似于“after_sign_in_path_for”的用户/提交的等效重定向配置?在制作中,我必须使用HTTPS,因此“编辑用户”的网址为https://www.xyz.com/users/edit。当我点击“更新”时,会发生正确的更新,但随后设计重定向到“http://www.xyz.com/users/edit”,这会导致错误加载页面,因为生产中不支持HTTP。

登录/退出时出现了类似问题(http://groups.google.com/group/plataformatec-devise/browse_thread/thread/5fafb2a8c90f1d43),我通过定义after_sign_in_path_for解决了这个问题。但我没有看到用户编辑/提交的类似配置。

然后我尝试在routes.rb中强制使用HTTPS:
    devise_scope:用户做
      得到“用户/编辑”,:to => “用户/注册#edit”,:as => :edit_user,:protocol => “HTTPS”
      把“users / commit”,:controller => “用户/注册”,:action => 'commit',:as => :commit_user,:protocol => “HTTPS”
    端

在rake路线中看到这一点:
    edit_user获取/users/edit(.:format)用户/注册#edit {:protocol =>“https”}
    commit_user PUT /users/commit(.:format)users / registrations#commit {:protocol =>“https”}

但是在更新操作之后,Devise仍然会路由到HTTP。

看看registrations_controller.rb,我看到了几个实例     redirect_to edit_user_path
因此,作为一种解决方法,我将其更改为
    redirect_to https://www.xyz.com/user/edit

这是有效的。但我不确定这是否是正确的方法。

0 个答案:

没有答案