如何在生产环境中的Rails模型中运行动态代码

时间:2011-01-16 03:32:13

标签: ruby-on-rails ruby-on-rails-3 model production

我想在我的模型中添加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 个答案:

答案 0 :(得分:3)

是的,模型运行一次,但方法被多次调用。任何时候调用get_options,字符串都将被重新翻译 - 我不会担心。