Created
April 14, 2014 14:05
-
-
Save kazuph/10651123 to your computer and use it in GitHub Desktop.
rails_adminでenumな値は数字でなくlocaleの値を表示させたい ref: http://qiita.com/kazuph/items/1cff00ae73f7a42d01fb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ja: | |
gender: | |
- '男性' | |
- '女性' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RailsAdmin.config do |config| | |
<略> | |
config.model 'User' do | |
# いじらない項目についても書いておかないと省かれてしまうので列挙 | |
field :id | |
field :email | |
# :enumを書くことで新規作成時などにプルダウンで選択できて便利 | |
field :gender, :enum do | |
# 表示用の設定 | |
# valueには表示項目の値が入ってくる(この場合は0 or 1) | |
# nameにはfieldの名前が入ってくる(この場合はgemder) | |
pretty_value do | |
I18n.t(name)[value] if value | |
end | |
# csvなどでエクスポートするときの設定 | |
export_value do | |
I18n.t(name)[value] if value | |
end | |
enum do | |
I18n.t(name) | |
end | |
end | |
# 今回のenumの話とは関係無けど誕生日と一緒に年齢を表示する方法 | |
field :birth_date do | |
pretty_value do | |
age = Time.now.year - value.year | |
"#{value.strftime("%Y-%m-%d")} (#{age}才)" | |
end | |
export_value do | |
age = Time.now.year - value.year | |
"#{value.strftime("%Y-%m-%d")} (#{age}才)" | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment