質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

210閲覧

simple_enumを使って選択式のロケールを数値で設定・保存し、別ビューでは文字列で表示させたい

mttkd399

総合スコア13

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2018/04/10 06:06

・実現したいこと
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 34 # 3つの選択肢を用意したい。(as_enumの表記自体間違っている?) 5 as_enum :locale, [:JP, :US, :VN] 67end

haml

1-# /hoges/_form.html.haml 2= simple_form_for [:admin, @hoge] do |f| 34 -# ここでJP、US、VNが選べる3択のラジオボタンを出したい。 5 = f.input :locale, label: 'ロケール', as: :radio_buttons, collection: f.object.locale_cd 67-# データベースに保存されるときは1,2,3の数字で保存したい。 8= f.button :submit, '保存'

haml

1-# 表示させるときはJP、US、VNのいずれか1つを表示させたい。 2= @hoge.locale

上記のような書き方で実現したいです。
ご教示お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問