У меня есть проект, где есть таблица CURRENCY и COUNTRY. Там PRICE-модель, которая требует действительного кода валюты и страны, поэтому я имею следующую проверку:
validates :currency_code, :presence => true, :inclusion => { :in => Currency.all_codes }
validates :country_code, :presence => true, :inclusion => { :in => Country.all_codes }
Метод all_codes возвращает массив только кодов валюты или страны. Это работает до тех пор, пока в таблицу не добавятся коды.
Как бы вы это описали, чтобы результат Currency.all_codes был либо Proc, либо внутри лямбда? Я попробовал Proc.new {Currency.all_codes} - но потом получите ошибку, на которую объект не отвечает?