我有这个自定义模型,其中包含一些方法:
class GenericModel < ActiveRecord::Base
self.abstract_class = true
def get_settings
.....
end
end
我想在我的各种其他模型中继承这个 GenericModel 类,如下所示,以便我可以访问这些自定义方法:
class ProvinceSetting < GenericModel
end
class CitySetting < GenericModel
end
但是,我如何编写我的自定义方法,以便它根据哪个 Model 类调用它来作用于数据库中的特定表?欢迎任何指点
这是 GenericModel 中 get_settings 的正确实现,其中 self 将引用适当的模型名称?
def self.get_settings(user_id)
user_session = SettingsSession.find_by_user_id(user_id)
if !user_session.blank?
if setting_orig = self.find_by_settings_session_id(user_session.id)
setting = setting_orig.dup
end
else
setting = self.first.dup
end
return setting
end