У меня есть таблица business_settings
, которая использует key
и value
столбцы для хранения настроек для бизнеса.activerecord setting in scope
Я написал помощник, чтобы собрать эти значения:
def bus_setting(bus_key)
bus_setting = BusinessSetting.where(key: bus_key).first
return bus_setting.nil? ? bus_key : bus_setting.value
end
в этом случае возвращаемое значение представляет собой целое число со значением 90.
Это область я пытаюсь написать, однако помощник bus_setting
вызывает «неопределенный метод` bus_setting»для класса: 0x00 ...»
scope :due, -> { where("mass_verification_date < ?", bus_setting('MASS_VERIFICATION_INTERVAL')to_i.days.ago) }
собираюсь ли я об этом, как писать или я сделал глупую ошибку? Спасибо
EDIT: Эта область достигает результата, который я получаю, но я не хочу жестко кодировать значение. scope :due, -> { where("mass_verification_date < ?", 90.days.ago) }
попробуйте добавить 'helper_method: bus_settings' ниже вашего вспомогательного метода и посмотреть, работает ли это. –