Ruby on rails 如何在RubyonRails中跨模型共享自定义getter和setter方法?

Ruby on rails 如何在RubyonRails中跨模型共享自定义getter和setter方法?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,在我的一些模型中,我有这些自定义的getter和setter方法: def hourly_rate hourly_rate_in_cents.to_d / 100 if hourly_rate_in_cents end def hourly_rate=(number) self.hourly_rate_in_cents = number.to_d * 100 if number.present? end 是否可以跨模型共享这些信息 如果是的话,我将把它们放在哪里?我将如何将它们包括在

在我的一些模型中,我有这些自定义的getter和setter方法:

def hourly_rate
  hourly_rate_in_cents.to_d / 100 if hourly_rate_in_cents
end

def hourly_rate=(number)
  self.hourly_rate_in_cents = number.to_d * 100 if number.present?
end
是否可以跨模型共享这些信息

如果是的话,我将把它们放在哪里?我将如何将它们包括在需要它们的模型中

谢谢你的帮助

最简单的方法(不是最好的,但取决于你的情况)是将它们添加到你的

apps/controllers/application_controller.rb 
文件。

最简单的方法(不是最好的,但取决于您的情况)是将它们添加到您的

apps/controllers/application_controller.rb 

文件。

您可以将它们拉到单独的模块中,该模块可以在模块目录中定义,例如
app/modules


然后,只需将它们包括在您的模型中,例如,
包括“小时费率”

您可以将它们拉到单独的模块中,该模块可以在模块目录中定义,例如,
应用程序/模块


然后只需将它们包含在您的模型中,例如,使用模块将“小时费率”包括在内。一些链接:


&

使用模块。一些链接:


&

好的,这很有效,而且非常简单。谢谢即使我将模块放在
lib
文件夹中。希望这没有打破任何惯例?你可以把它放在任何你喜欢的地方!我个人的偏好是在app/classes和app/modules中放置自定义类和模块,但我不知道有一个硬性规则。好吧,这很有效,而且非常简单。谢谢即使我将模块放在
lib
文件夹中。希望这没有打破任何惯例?你可以把它放在任何你喜欢的地方!我个人的偏好是在app/classes和app/modules中放置自定义类和模块,但我不知道有什么硬性规定。