今回の目的
[Materializeとsimple_formでシンプルでいい感じのフォームを作りたい!]
(https://qiita.com/sakuraniumarete/items/762a21d7abfbf536b537)
enumを使ったselectボックスの実装
上記からの作業となります。今回前回実装したenumを日本語化します。
Gemfileに追加からのbundle install
まずは「enum_help」をGemfileに記載して「bundle install」します。
Gemfile.
gem 'enum_help'
ターミナル.
bundle install
ja.ymlとapplication.rbに記載で日本語化
ja.ymlに下記を記載します。ファイルがない場合は作成しましょう。
またapplicatio.rbでデフォルトの言語を日本語にします。
config/locales/ja.yml
ja:
enums:
product:
unit:
yen: "円"
usd: "ドル"
eur: "ユーロ"
config/application.rb
module EcSite #アプリケーション名
class Application < Rails::Application
config.load_defaults 5.2
config.i18n.default_locale = :ja #追記
end
end
selectボックスの記述を修正
下記の部分を日本語化します。
new.html.haml
= simple_form_for(@product) do |f|
.row
.input-field.col.s6
= f.input :name
= f.input :description
= f.input :price
= f.select :unit,Product.units_i18n.invert, {}, placeholder: 0
# Product.units_i18n.invertに修正
= f.input :image
= f.button :submit
enum_helpを導入することにより「Product.units_i18n.invert」を使用することができます。
ターミナル.
Product.units_i18n.invert
=> {"円"=>"yen", "ドル"=>"usd", "ユーロ"=>"eur"}
完了したら、サーバーを再起動します。
ターミナル.
サーバー停止
rails s #サーバー再起動
結果

以上です。少しでも参考になりましたら、いいねやフォロー気軽にしていただけると励みになります!\(^o^)/