・ Ruby: 2.5.7 Schienen: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Betriebssystem: macOS Catalina
Folgendes wurde implementiert.
・ Schlanke Einführung ・ Implementierung der Posting-Funktion
application.rb
application.rb
module Bookers2Debug
class Application < Rails::Application
config.load_defaults 5.2
#Nachtrag
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
** ◎ Weisen Sie einer Variablen den Klassennamen der Instanz zu **
class_name = instance.object.class.name.underscore
** ◎ Weisen Sie einer Variablen den Methodennamen der Instanz zu **
method_name = instance.instance_variable_get(:@method_name)
** ◎ Erstellen Sie HTML für den Fehlermeldungsteil. ** ** **
"<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
Wenn "Bitte geben Sie einen Titel ein" angezeigt wird,
# {I18n.t (" activerecord.attributes. # {Klassenname}. # {Methodenname} ")}
In dem Teil, der dem "Titel" entspricht
# {instance.error_message.first}
ist
Es wird der Teil, der "Bitte eingeben" entspricht.
Gemfile
#Nachtrag
gem 'rails-i18n'
Terminal
$ bundle
application.rb
application.rb
module Bookers2Debug
class Application < Rails::Application
config.load_defaults 5.2
config.i18n.default_locale = :ja #Nachtrag
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:Titel
body:Text
Recommended Posts