・実現したいこと
adminかどうかで判別する管理者画面(/hoges/_form.html.haml)の操作で、JP、US、VNのうち一つのロケールを設定し、別のビューでそれらを表示したい。enumを利用して、データベースには1,2,3の数字で保存し、表示するときはJP、US、VNと文字列で表示したい。
・環境条件
simple_enumを使用
テーブルにはカラム名: locale_cdで設定
locale_cdのデータ型は:integer
ビューではsimple_formを使用
ruby
1# モデル => hoge.rb 2class Hoge < ApplicationRecord 3 … 4 # 3つの選択肢を用意したい。(as_enumの表記自体間違っている?) 5 as_enum :locale, [:JP, :US, :VN] 6 … 7end
haml
1-# /hoges/_form.html.haml 2= simple_form_for [:admin, @hoge] do |f| 3 … 4 -# ここでJP、US、VNが選べる3択のラジオボタンを出したい。 5 = f.input :locale, label: 'ロケール', as: :radio_buttons, collection: f.object.locale_cd 6 … 7-# データベースに保存されるときは1,2,3の数字で保存したい。 8= f.button :submit, '保存'
haml
1-# 表示させるときはJP、US、VNのいずれか1つを表示させたい。 2= @hoge.locale
上記のような書き方で実現したいです。
ご教示お願いいたします。
あなたの回答
tips
プレビュー