4 Stimmen

Wo erweitern Sie Klassen in Ihrer Rails-Anwendung?

Ich bin gerade dabei, die Klasse Array mit der folgenden Erweiterung zu erweitern:

class Array
  def shuffle!
    size.downto(1) { |n| push delete_at(rand(n)) }
    self
  end
end

Ich habe mich jedoch gefragt, wo man diese Art von Erweiterungen gut aufbewahren kann. Ich dachte an environment.rb oder in eine eigene Datei im Initialisierungsverzeichnis zu setzen.

11voto

Greg Campbell Punkte 15052

Normalerweise folge ich der ActiveSupport-Konvention, d.h. ich platziere sie in lib/core_ext/#{class}.rb - in diesem Fall, lib/core_ext/array.rb . Wie John Hyland bemerkt, können Sie die Datei dann bei Bedarf explizit anfordern oder eine require-Anweisung in Initialisierungen einfügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X