Beschreiben Sie in der Modelldatei. Anwesenheit: Erforderlich für true. Verschiedene andere Einstellungen sind möglich. Einzelheiten entnehmen Sie bitte den offiziellen Dokumenten.
profile.rb
class Profile < ApplicationRecord
belongs_to :user
validates :name, presence: true
validates :age, presence: true
validates :sex, presence: true
validates :description, presence: true
validates :qualify, presence: true
validates :impression, presence: true
end
Es gibt verschiedene Methoden, aber dieses Mal habe ich den Helfer "if @ variable name.errors.include?" Verwendet, um Folgendes zu tun. Obwohl nur der Name beschrieben wird, kann die Nachricht angezeigt werden, indem der Name in einen anderen Spaltennamen geändert wird.
new.html.erb
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:name) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:name).first %>
<% end %>
Wenn es angezeigt wird, sieht es wie folgt aus.
Dieses Mal werde ich gem verwenden, aber japanische Sprachdateien sind über Git verfügbar.
Wenn Sie interessiert sind, suchen Sie bitte nach Rails-i18n
.
Außerdem sind die Spaltennamen für diese Aufgabe immer noch in Englisch. Spaltennamen werden im nächsten Absatz ins Japanische übersetzt.
gem 'rails-i18n'
bundel install
Erstellen Sie eine ja.yml
-Datei im Verzeichnis config / locales / models
.
Wenn sich der Einzug verschiebt, funktioniert er nicht richtig. Beachten Sie daher auch das Bild (Anzahl der Punkte = Einzugsbreite).
ja.yml
ja:
activerecord:
models:
profile:Profil#Modellname mit der Spalte, die Sie ins Japanische übersetzen möchten
attributes:
profile:
name:Name
age:Alter
sex:Sex
description:Überblick
qualify:Qualifikation
impression:Begeisterung
Als Referenz wird der Inhalt der Validierung erneut veröffentlicht.
profile.rb
class Profile < ApplicationRecord
belongs_to :user
validates :name, presence: true
validates :age, presence: true
validates :sex, presence: true
validates :description, presence: true
validates :qualify, presence: true
validates :impression, presence: true
end
Schließlich müssen Sie die yml-Datei laden.
Fügen Sie config / application.rb
wie folgt einen Satz hinzu.
Auf diese Weise können Sie alle yml-Dateien im Verzeichnis lesen.
application.rb
module Association03
class Application < Rails::Application
config.load_defaults 5.1
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.yml').to_s] #Satz hinzugefügt
end
end
Recommended Posts