अगर मेरे पास skip_before_action वाला नियंत्रक है:

class UsersController 
 skip_before_action :authenticate_request, only: :create

 include Confirmable

 def create
   # ...
 end

end

और एक Confirmable मॉड्यूल:

module Confirmable
  extend ActiveSupport::Concern

  included do
    skip_before_action :authenticate_request, only: :confirm_email
  end

  def confirm_email
    # ...
  end
end

क्या मॉड्यूल में skip_before_action कक्षा में एक को अधिलेखित कर देता है या उसमें जोड़ देता है यानी skip_before_action :authenticate_request, only: [:create, :confirm_email] बना रहा है?

0
Darkisa 12 जिंदा 2020, 03:44

1 उत्तर

सबसे बढ़िया उत्तर

रेल OSS है।

यहां skip_before_action.

कॉलबैक को संग्रह के रूप में लागू किया जाता है .

जब तक prepend: true विकल्प स्पष्ट रूप से पारित हो गया है, नए परिभाषित कॉलबैक मौजूदा कॉलबैक की सूची में संलग्न हैं। उस ने कहा, दोनों जगह लेंगे।

साथ ही, self#included कॉलबैक कहा जाता है क्योंकि यह स्रोत कोड में पाया जाता है, इसलिए मॉड्यूल एक को वर्ग के साथ संलग्न किया जाता है।

1
Aleksei Matiushkin 12 जिंदा 2020, 04:20