2011-01-16 2 views
0

Я хочу добавить метод get_options к моей модели. Тем не менее, я понимаю, что в производственной среде модели запускаются только один раз. Мне нужно использовать I18n в моей модели, и поэтому выход будет изменяться в зависимости от языка, который выбрал пользователь. Как мне сделать что-то подобное этой работе?Как запустить динамический код в моделях Rails в рабочей среде

class ListHourlyPay < ActiveRecord::Base 
    def self.get_options 
    ListHourlyPay.all.map(&:amount).index_by { |obj| I18n.t("activerecord.attributes.part_time.hourly_pay_options.#{obj}") } 
    end 
end 

Спасибо!

p.s. Я даже не уверен, что это не Работа - это просто мое подозрение, основанное на том, что я слышал.

ответ

3

Да, модели запускаются один раз, но методы называются несколько раз. В любое время вызывается get_options, строка будет переводиться - я бы не стал беспокоиться.

+0

Я возьму ваше слово за это :) Спасибо! –