Derzeit besuche ich eine bestimmte Programmierschule, aber bei der Implementierung der Suchfunktion (Suchfenster) wurde mir gesagt, dass ich ein Modell und einen Controller für die ordnungsgemäße Verarbeitung verwenden soll. Eh ... Es ist in Ordnung, alle Controller zu verwenden ... (Natürlich benutze ich sie jetzt aktiv separat!)
** ・ Controller… Erfasst Daten aus der Datenbank, speichert sie und beschreibt nur die einfache Verarbeitung ** ** ・ Modell: Beschreibt den von der Datenbank erhaltenen Wert, der eine komplizierte Verarbeitung durchführt ** Ich benutze es richtig mit dem Bild.
Ich wollte es jedoch nicht verwenden, da ich nicht verstehen konnte, warum der im Modell festgelegte ** "Verarbeitungskatalog" ** mit dem Controller verwendet werden kann, nein, ich konnte nicht. (Dieser Artikel ist kein Artikel zur Erläuterung der Suchfunktion. Er ist nur eine Zusammenfassung meiner Gedanken zur Verwendung des Modells.)
models/tweet.rb (Modell)
class Tweet < ApplicationRecord
validates :text, presence: true
belongs_to :user
has_many :comments
def self.search(search)
return Tweet.all unless search
Tweet.where('text LIKE(?)', "%#{search}%")
end
end
controllers/tweets_controller.rb (Controller)
class TweetsController < ApplicationController
def search
@tweets = Tweet.search(params[:keyword])
end
end
Es ist nicht in der Referenz aufgeführt. Weil ** "Methode von mir mit Modell gemacht" **! !!
――Ich werde hier nicht näher darauf eingehen, aber diesem wird der Klassenname zugewiesen. (Die Ausdruckszuweisung dient der Übersichtlichkeit)
Hast du irgendwie verstanden? ??
Tatsächlich verwenden wir häufig verschiedene Methoden wie "Methode finden" und "Methode einschließen" Genau wie ich diesmal die "Suchmethode" gemacht habe, hat ** Rails ActiveRecord es geschafft **! !!
** Jedes Modell erbt ActiveRecord **, sodass Sie die Methode auf dem Controller verwenden können! (Genau genommen Klasse Tweet <ApplicationRecord <ActiveRecord :: Base) Wenn Sie sich die erste Zeile von tweet.rb (Tweet-Modell) ansehen, können Sie sie finden.
Nun, es wird länger, aber es gibt jemanden, der es noch nicht gelöst hat. Ja, was war eigentlich "self = class method"?
Klassenmethoden sind buchstäblich Methoden, die für "Klassen" verwendet werden können. Kannst du dich erinnern, was eine "Klasse" war? ?? Wenn Sie es nicht wissen, schauen Sie sich die erste Zeile von tweet.rb (Tweet-Modell) an.
** Ich verstehe immer noch nicht mehr! !! Lol **
Es war vielleicht etwas verwirrend, aber bitte verzeihen Sie mir, weil ich seit 2 Monaten programmiere. (Ich konnte meinen Kopf relativ ordnen.) Ich habe das schon lange geschrieben, aber danke, dass Sie bis zum Ende gelesen haben.
Wenn die Interpretation falsch ist, wäre ich sehr dankbar, wenn Sie mich wissen lassen könnten.
Mehr und mehr.
Recommended Posts