Wenn Sie Rails noch nicht kennen und Ihre eigene Validierung vornehmen möchten, halten Sie an diesem Finger an.

Über diesen Artikel

Ein kostenloser Artikel von Rails-Anfängern für Rails-Anfänger. Vor kurzem haben sich die Kinder meines Freundes beeilt, "** yeah !!! yeah !!!" zu sagen, also eine Bestätigung, um die süße Idee zu eliminieren, dass ** yeah ** interessant wäre. Der Zweck ist es, vulgäre Worte gut zu nutzen und nicht in der Welt zu verbreiten.

Umgebung

Rails5

Vorbereitungen

Trainieren

Wenn diesmal ein Inhalt veröffentlicht wird, der ein Wort (unko) enthält, das nicht für die Inhaltsspalte des Post-Modells geeignet ist, wird ein Überprüfungsfehler ausgegeben, um die Welt der Liebe und des Friedens zu schützen und die Verbreitung schmutziger Wörter zu verhindern. ..

Beiträge Tabellenspalten

ActiveRecord::Schema.define(version: 2018_06_10_125752) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "posts", force: :cascade do |t|
    t.string "title", null: false
    t.text "content", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "user_id", null: false
    t.index ["user_id"], name: "index_tasks_on_user_id"
  end
end

Fügen wir nun dem Post-Modell eine Methode zur Validierung hinzu.

Schritt 1

Ich werde die Methode zur Überprüfung registrieren.

class Ppst < ApplicationRecord
  validate :validate_content_not_including_unko

Hey, gibt es nicht etwas Seltsames?

Diejenigen, die Rails bis zu einem gewissen Grad hier studiert haben, werden einen Tsukkomi einsetzen wollen. damit! !! !! Nicht ** validiert **, sondern ** validiert **, die nicht die ** dritte Person Singular Present Form (drei Einheiten vorhanden) s ** hat! !! !! !! Der Unterschied zwischen den beiden scheint entweder eine benutzerdefinierte oder eine selbst erstellte Validierung zu sein.

Wenn Sie eine benutzerdefinierte Validierung verwenden, verwenden Sie anscheinend ** validate **. .. .. Schrecklich und schwer zu verstehen https://guides.rubyonrails.org/active_record_validations.html#custom-methods

Schritt 2

Ich werde eine Methode zur Überprüfung implementieren

class Ppst < ApplicationRecord
  validate :validate_name_not_including_unko

  private

  def validate_content_not_including_unko
    errors.add(:content, 'Wenn Sie dies schreiben, können Sie nicht! !! !! !!') if content.include?('Scheisse')
  end
end

①private Diese Methode wird niemals von außerhalb dieses Objekts verwendet. Schreiben Sie sie daher unter privat

validate_content_not_including_unko Die Aufgabe der Validierungsmethode lautet ** "Wenn Sie einen Validierungsfehler finden, setzen Sie den Fehlerinhalt in Fehler" **. Wenn "content.include? (" Unko ")" "unko" in der Inhaltsspalte enthält, ist der Inhalt des Überprüfungsfehlers in "fehler.add" enthalten.

Überprüfen Sie, ob sich Kot in der Welt ausbreitet.

スクリーンショット 2020-11-13 14.52.28.png

Dies wird dich davon abhalten, diesen bösen Jungen zu sagen. .. ..

Schließlich

Es gibt eine Sache, die ich in diesem Artikel durchdacht habe, dass es nichts damit zu tun hat.

Anstatt es möglich zu machen, plötzlich zu posten, indem Sie einen Satz auf Twitter eingeben oder den Post-Button einmal auf dem Bestätigungsbildschirm drücken, um eine Pause von etwas wie "Sagst oder benimmst du dich wie getrocknet?" Zu machen. Ich fragte mich, ob es möglich sein würde, die Anzahl der Sätze, die emotional geschrieben werden, zu reduzieren und eine Art nachteiligen Effekt zu verbreiten.

Es tut mir auch leid, dass ich eine Reihe von Kacken hatte.

Recommended Posts

Wenn Sie Rails noch nicht kennen und Ihre eigene Validierung vornehmen möchten, halten Sie an diesem Finger an.
Wenn Sie Android Room verwenden und die Spaltendefinition ändern möchten
Wenden Sie Ihre eigene Domain auf Rails of VPS an und machen Sie sie zu SSL (https) (CentOS 8.2 / Nginx).
[# 3 Java] Lesen Sie dies, wenn Sie Java lernen möchten! ~ Sorgfältig ausgewählt ~
Wenn Sie mit Ruby eine Zip-Datei erstellen möchten, ist dies Rubyzip.
Grundlegende Rails-Befehle, die Sie lernen möchten