[RUBY] Verwenden Sie mit Rails6 Ihre eigene Klasse im lib-Verzeichnis

So erstellen und verwenden Sie Ihre eigene Klasse: Dieses Mal werde ich vorstellen, wie man es unter root / lib macht.

Umgebung

rails 6.0.3

application.rb Einstellungen

application.rb


module Myapp
  class Application < Rails::Application
    config.load_defaults 6.0
    config.paths.add 'lib', eager_load: true #Füge das hinzu
  end
end

Fügen Sie unter lib zu autoload_paths hinzu. Klicken Sie hier für autoload_paths (https://qiita.com/hirokisoccer/items/4ba62a56b18eb834a8ee)

Konfiguration unter lib

lib
 ├── assets
 ├── asks
 └── utils
     └── hoge.rb

Ich habe utils / hoge.rb erstellt. Geben wir ihm einen beschreibenden Namen.

Inhalt von hoge.rb

hoge.rb


class Utils::Hoge
end

Oder

hoge.rb


module Utils
  class Hoge
     def greeting
         'hello'
     end
  end
end

Definieren wir eine Klasse mit dem Namen des übergeordneten Verzeichnisses als Namespace. Auf diese Weise können Sie die Regeln von autoload_paths entführen und wie folgt aufrufen.

application_controller.rb



class ApplicationController < ActionController::Base
   hoge = Utils::Hoge.new
   hoge.greeting
   #=> hello  
end

Schließlich

Beim Schreiben dieses Artikels habe ich den folgenden Beitrag gefunden. (Der Mangel an Forschung wurde aufgedeckt ...)

Autoload_paths behoben, um Rätselfehler zu beseitigen

Laut Rails Guaid "Vor Rails 5 war es üblich, lib / und darunter in autoload_paths aufzunehmen. Jetzt wird jedoch nicht empfohlen, den Code an einem anderen Ort als dem App-Ordner abzulegen und für das automatische Laden zu verwenden." Es wird gesagt, dass ein Fehler auftreten kann, der für die Produktionsumgebung spezifisch ist.

Da die App standardmäßig in autoload_paths enthalten ist, Es scheint gut, das zu benutzen.

Warum existiert das lib-Verzeichnis? Ich frage mich, ob Leute, die gut in der Entwicklung sind, es richtig benutzen.

Das ist alles für diese Zeit, in der neue Fragen aufgetaucht sind. Jeden Tag gewidmet

Recommended Posts

Verwenden Sie mit Rails6 Ihre eigene Klasse im lib-Verzeichnis
Rufen Sie Ihre eigene Klasse auf, die unter lib mit Rails erstellt wurde
Verwenden Sie JDBC Manager mit den Einstellungen in jdbc.dicon.
Verwenden Sie Ihre eigene docker-compose.yml in der Befehlszeile
Verwenden Sie Bilder mit Schienen
Rufen Sie Ihre eigene Methode mit PreAuthorize in Spring Security auf
Japanisieren Sie mit i18n mit Rails
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
Verwenden Sie mehrere Kontrollkästchen in Rails6!
[Docker] Wird immer mit Docker + Rails verwendet
[Rails / Routing] So verweisen Sie auf den Controller in Ihrem eigenen Verzeichnis
Verwenden Sie Heroku × Rails, um mit Rack-Rewrite zu Ihrer eigenen Domain umzuleiten
Über das Symbol <%%> in Rails erb
[Rails] Verwenden Sie Cookies im API-Modus
Verwenden Sie LocationAwareLogger für Ihren eigenen Logger
Behandeln Sie Ihre eigenen Anmerkungen in Java
Verwenden Sie das Findbugs-Plugin in Eclipse
Wie verwende ich Klassen in Java?
[Ruby on Rails] So melden Sie sich nur mit Ihrem Namen und Passwort mit dem Gem-Gerät an
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
[Rails] Verwenden Sie devise, um Informationen zum aktuell angemeldeten Benutzer abzurufen
[Rails] So wenden Sie das in der Hauptanwendung verwendete CSS mit Administrate an
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert
Erstellen Sie Ihren eigenen Validator mit Bean Validation
[Schienen] Verwendung der Kartenmethode
Bereiten Sie die Formatumgebung für "Rails" (VScode) vor.
[Java] Verwenden Sie kryptografische Technologie mit Standardbibliotheken
Füllen Sie den Bildschirm mit Schaltflächen in TableLayout
Verwendung von MySQL im Rails-Tutorial
Überprüfen Sie den Verarbeitungsinhalt mit [Rails] Binding.pry
[Rails] Setzen Sie die Datenbank in der Produktionsumgebung zurück
Verwendung von credentials.yml.enc aus Rails 5.2
Rails6: Extrahieren Sie das Bild im Aktionstext
[Schienen] So registrieren Sie mehrere Datensätze in der Zwischentabelle mit einer Zuordnung von vielen zu vielen
Erstellen Sie mit Xcode Ihre eigenen Verknüpfungen, um komplizierte Pod-Installationsarbeiten zu vermeiden
[Rails] So bedienen Sie die in der Hauptanwendung verwendete Hilfsmethode mit Administrate