发送邀请后,Rails设计可邀请的重定向

Poy*_*oyi 7 ruby-on-rails devise ruby-on-rails-3

我得到了设计可用的安装和工作.试图找出如何在用户发出邀请后重定向用户.现在它将我重定向到根.我以为你可以在下面的方法中设置自定义路径,但它不起作用.如果有人知道在邀请发送后自定义路径的位置,请提前致谢.

 def after_invite_path_for(resource)
    new_profile_path
  end
Run Code Online (Sandbox Code Playgroud)

小智 13

我偶然发现了你的问题,因为我遇到了同样的问题.据我所知,覆盖after_invite_path_for的目的是覆盖Devise :: InvitationsController.

class Users::InvitationsController < Devise::InvitationsController
  def after_invite_path_for(resource)
    new_profile_path
  end
end
Run Code Online (Sandbox Code Playgroud)

的routes.rb

devise_for :users, :controllers => { :invitations => "users/invitations" }
Run Code Online (Sandbox Code Playgroud)

如果设计适当的设计工作就好了,你可以覆盖它在应用程序控制器中的邀请/接受路径之后.我修改了devise_invitable以这种方式工作并提交了一个pull请求.我不确定它是否会被接受,但你可以看看: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
Run Code Online (Sandbox Code Playgroud)