・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Système d'exploitation: macOS Catalina
Ce qui suit a été mis en œuvre.
・ Présentation mince ・ Mise en œuvre de la fonction de publication
application.rb
module Bookers2Debug
class Application < Rails::Application
config.load_defaults 5.2
#Postscript
config.action_view.field_error_proc = Proc.new do |html_tag, instance|
if instance.kind_of?(ActionView::Helpers::Tags::Label)
html_tag.html_safe
else
class_name = instance.object.class.name.underscore
method_name = instance.instance_variable_get(:@method_name)
"<div class=\"has-error\">#{html_tag}
<span class=\"help-block\">
#{I18n.t("activerecord.attributes.#{class_name}.#{method_name}")}
#{instance.error_message.first}
</span>
</div>".html_safe
end
end
end
end
if instance.kind_of?(ActionView::Helpers::Tags::Label)
html_tag.html_safe
else
class_name = instance.object.class.name.underscore
method_name = instance.instance_variable_get(:@method_name)
"<div class=\"has-error\">#{html_tag}
<span class=\"help-block\">
#{I18n.t("activerecord.attributes.#{class_name}.#{method_name}")}
#{instance.error_message.first}
</span>
</div>".html_safe
** ◎ Attribuez le nom de classe de l'instance à une variable **
class_name = instance.object.class.name.underscore
** ◎ Attribuez le nom de méthode de l'instance à une variable **
method_name = instance.instance_variable_get(:@method_name)
** ◎ Créez du HTML pour la partie message d'erreur. ** **
"<div class=\"has-error\">#{html_tag}
<span class=\"help-block\">
#{I18n.t("activerecord.attributes.#{class_name}.#{method_name}")}
#{instance.error_message.first}
</span>
</div>".html_safe
Si "Veuillez saisir un titre" s'affiche,
# {I18n.t (" activerecord.attributes. # {Class_name}. # {Method_name} ")}
Dans la partie correspondant au "titre"
# {instance.error_message.first}
est
Il devient la partie correspondant à "Veuillez entrer".
Gemfile
#Postscript
gem 'rails-i18n'
Terminal
$ bundle
application.rb
module Bookers2Debug
class Application < Rails::Application
config.load_defaults 5.2
config.i18n.default_locale = :ja #Postscript
config.action_view.field_error_proc = Proc.new do |html_tag, instance|
if instance.kind_of?(ActionView::Helpers::Tags::Label)
html_tag.html_safe
else
class_name = instance.object.class.name.underscore
method_name = instance.instance_variable_get(:@method_name)
"<div class=\"has-error\">#{html_tag}
<span class=\"help-block\">
#{I18n.t("activerecord.attributes.#{class_name}.#{method_name}")}
#{instance.error_message.first}
</span>
</div>".html_safe
end
end
end
end
ja.yml
Terminal
$ touch config/locales/ja.yml
ja.yml
ja:
activerecord:
attributes:
book:
title:Titre
body:Texte
Recommended Posts