Décrivez dans le fichier modèle. présence: obligatoire pour vrai. Divers autres réglages sont possibles. Veuillez vous référer aux documents officiels pour plus de détails.
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
Il existe différentes méthodes, mais cette fois j'ai utilisé l'assistant ʻif @ variable name.errors.include? `Pour faire ce qui suit. Bien que seul le nom soit décrit, le message peut être affiché en remplaçant le nom par un autre nom de colonne.
new.html.erb
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% if @profile.errors.include?(:name) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:name).first %>
<% end %>
Lorsqu'il est affiché, il ressemble à ce qui suit.
Cette fois, j'utiliserai gem, mais les fichiers de langue japonaise sont disponibles via Git.
Si vous êtes intéressé, veuillez rechercher rails-i18n
.
En outre, les noms de colonne sont toujours en anglais pour cette tâche. Les noms de colonnes seront traduits en japonais dans le paragraphe suivant.
gem 'rails-i18n'
bundel install
Créez un fichier ja.yml
dans le répertoire config / locales / models
.
Si le retrait change, cela ne fonctionnera pas correctement, veuillez donc vous référer également à l'image (nombre de points = largeur du retrait).
ja.yml
ja:
activerecord:
models:
profile:profil#Nom du modèle avec la colonne que vous souhaitez traduire en japonais
attributes:
profile:
name:Nom
age:âge
sex:sexe
description:Aperçu
qualify:Qualification
impression:enthousiasme
Pour référence, le contenu de la validation sera affiché à nouveau.
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
Enfin, vous devez charger le fichier yml.
Ajoutez une phrase à config / application.rb
comme suit.
Cela vous permettra de lire tous les fichiers yml du répertoire.
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] #Phrase ajoutée
end
end
Recommended Posts