我得到了邀请安装和工作的设计。试图弄清楚在用户发出邀请后如何重定向用户。现在它正在将我重定向到根目录。我以为您可以在下面的方法中设置自定义路径,但它不起作用。如果有人知道在发送邀请后在哪里自定义路径,请提前致谢。
def after_invite_path_for(resource)
new_profile_path
end
我得到了邀请安装和工作的设计。试图弄清楚在用户发出邀请后如何重定向用户。现在它正在将我重定向到根目录。我以为您可以在下面的方法中设置自定义路径,但它不起作用。如果有人知道在发送邀请后在哪里自定义路径,请提前致谢。
def after_invite_path_for(resource)
new_profile_path
end
我偶然发现了你的问题,因为我遇到了同样的问题。据我所知,您覆盖 after_invite_path_for 的预期方法是覆盖 Devise::InvitationsController。
class Users::InvitationsController < Devise::InvitationsController
def after_invite_path_for(resource)
new_profile_path
end
end
路线.rb
devise_for :users, :controllers => { :invitations => "users/invitations" }
如果 devise invitable 像 devise proper 一样工作,并且您可以在应用程序控制器中覆盖其后邀请/接受路径,那就太好了。我修改了 devise_invitable 以这种方式工作并提交了一个拉取请求。我不确定它是否会被接受,但您可以在这里查看:https ://github.com/scambra/devise_invitable/pull/240 。
如果该功能被接受,您可以通过将其放入初始化程序中来修补您当前版本的 invitable 以尊重应用程序控制器中的邀请/接受后路径的定义:
#make invitable's path functions overridable in application controller
[:after_invite_path_for, :after_accept_path_for].each do |method|
Devise::InvitationsController.send(:remove_method, method) if ApplicationController.method_defined? method
end
不确定这是一件好事……还是更糟糕的事情,但是您可以提出:
def after_invite_path_for(resource)
new_profile_path
end
在您的应用程序控制器中......似乎工作正常!