What I have in my model is:
def body_color_enum [ ['Aqua', '#009c9c'], ['Grey', '#6d6e71'], ['Yellow', '#ffe600'], ['White', 'white'] ] end
I want these values to come from the translation file 'en.yml'
en: group: hero: hex1: '#6d6e71' name1: 'Dark grey' hex2: '#ccc' name2: 'Light grey' hex3: '#0099ce' name3: 'Blue' hex4: '#ffffff' name4: 'White'
I have tried this:
def body_color_enum [ [t('group.hero.name1'), '#009c9c'], ['Grey', '#6d6e71'], ['Yellow', '#ffe600'], ['White', 'white'] ] end
But i get this error:
undefined method `t' for #<Group:0x007fabad847ac8>
So what I'm asking is how can I access my local file from the model so I can set my values in the body_color_enum method.
Call:
I18n.t
instead of simple t
. t
is a helper method only available in the views, delegating the whole logic to I18n
module.
UPDATE:
As mentioned in the comments, view helper is not only delegating to the I18n
module, it makes sure that you can use a default scopes as well.
# constants def self.option_enum [ [ I18n.t('enum.amount'), 'A' ], [ I18n.t('enum.percentage'), 'P' ] ] end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With