मैंने आपके प्रश्न पर ठोकर खाई क्योंकि मुझे एक ही समस्या थी। जहां तक मैं आपके लिए devide :: InvitationController को ओवरराइड करने के लिए after_invite_path_for ओवरराइड करने का इच्छित तरीका बता सकता हूं।
class Users::InvitationsController < Devise::InvitationsController
def after_invite_path_for(resource)
new_profile_path
end
end
routes.rb
devise_for :users, :controllers => { :invitations => "users/invitations" }
यह अच्छा होगा अगर वसीयत invitable की तरह काम किया उचित वसीयत और आप रद्द कर सकते थे इसके बाद आमंत्रित करते हैं/आवेदन नियंत्रक में पथ स्वीकार करते हैं। मैंने devise_invitable को इस तरह से काम करने के लिए संशोधित किया और पुल अनुरोध सबमिट किया। मुझे यकीन नहीं है कि यह स्वीकार किया जाएगा या नहीं, लेकिन आप यहां एक नजर डाल सकते हैं: https://github.com/scambra/devise_invitable/pull/240।
#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
मैं साथ devise_invitable उपयोग कर रहा हूँ:
कि सुविधा स्वीकार किया जाता है, तो आप/के बाद आमंत्रित करते हैं की परिभाषा का सम्मान एक प्रारंभकर्ता में इस डाल कर आवेदन नियंत्रक में रास्तों को स्वीकार करने के invitable के वर्तमान संस्करण पैच सकता है उपरोक्त पैच, लेकिन यह अभी भी 'ApplicationController' में ओवरराइड के साथ काम नहीं कर रहा है। 'उपयोगकर्ता :: आमंत्रण नियंत्रक' कार्यों में 'after_invite_path_for' को ओवरराइड करना, हालांकि संसाधन गलत है। मैंने लेखक से इस मुद्दे को फिर से खोलने के लिए कहा। https://github.com/scambra/devise_invitable/pull/240#issuecomment-11915891 –