Как запустить динамический код в моделях Rails в производственной среде - PullRequest
0 голосов
/ 16 января 2011

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

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. Я даже не уверен, что это не работает - это просто мое подозрение, основанное на том, что я услышал.

1 Ответ

3 голосов
/ 16 января 2011

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

...