私はこのカスタムモデルを持っており、いくつかのメソッドが含まれています:
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