rails enumの表示を共通化
viewでそれぞれ書くのがめんどくさかったんでmodelに定義 human_hoge
['hoge', 'hoge2', 'hoge3'].each do |method| define_method "human_#{method}" do I18n.t("activerecord.attributes.applicant.#{method.pluralize}").fetch(send(method).to_sym) end end
クラスメソッドバージョン
['hoge', 'hoge2', 'hoge3'].each do |method| define_singleton_method "collection_#{method}" do send(method.pluralize).map{|k,v| [I18n.t("activerecord.attributes.applicant.#{method.pluralize}.#{k}"),k]}.to_h end end