此部分存在于模型中,我們將其用于表單提交。
GENDER_TYPES = %w[Male Female Other]
uj5u.com熱心網友回復:
我不確定這是否適合您,但在這種情況下我所做的是使用 ( Rails enum )。在您的模型中:
class MyModel < ApplicationRecord
enum gender: [:male, :female, :other]
end
我的 ApplicationRecord 類:
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
def self.enum_t(enum_name, enum_value)
I18n.t("activerecord.attributes.#{model_name.i18n_key}.#{enum_name.to_s.pluralize}.#{enum_value}")
end
end
在我的 en.yml 中:
en:
activerecord:
attributes:
my_model:
genders:
male: Male
female: Female
other: Other
在我看來要創建一個選擇:
f.select :gender, MyModel.genders.keys.collect { |gender| [MyModel.enum_t(:gender, gender), gender] }
或顯示動作:
= MyModel.enum_t(:gender, my_model.gender)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/314943.html
