J'ai ajouté quelques constantes à un modèle, par exemple MyModel.rb
comme indiqué ci-dessous.Rails constantes du modèle avec hachage
MY_CONST = {
:foo =>"Some Name for Foo",
:bar =>"Some Name for Bar"
}
Aussi j'ai sauvé chaîne foo
comme la valeur de la colonne dans un enregistrement de la table.
@m = MyModel.find(1)
@m.column_name #=> foo
Maintenant, à mon avis, j'ai besoin de montrer « un nom pour Foo » comme la sortie pour @m.column_name
au lieu de foo
J'ai essayé MyModel::MY_CONST[:foo]
et imprime "Some Name for Foo"
comme la sortie. Mais je ne sais pas comment passer @m.column_name
à MyModel::MY_CONST[....]
dynamiquement.
J'ai essayé 'MyModel :: MY_CONST [@ m.column_name]' il n'a jamais travaillé pour moi, (c'est pourquoi j'ai posté la question) Mais ' MyModel :: MY_CONST [@ m.column_name.to_sym] 'fonctionne, merci beaucoup. – randika
si vous voulez exécuter 'MyModel :: MY_CONST [@ m.column_name]' changer ': foo =>" Un nom pour Foo ",' '' 'foo" => "Un nom pour Foo", ' – Salil
Merci beaucoup Salil. Je comprends maintenant, je n'y ai jamais vraiment pensé. – randika