Я создаю модель с именем Configuration, и у меня есть следующий код, и я хочу сделать его более динамичным с помощью метапрограммирования.
В таблице базы данных для модели Configuration у меня есть следующие данные.
---------------------------------------------------------
variable_name as string | value in text
|
company_name | MyCompany
welcome_text | Welcome to MyCompany's App!
email_order_text | You've just created an account with MyCompany.
year_since | 2012
----------------------------------------------------------
class Configuration < ActiveRecord::Base
#nothing here yet
end
----------------------------------------------------------
В настоящее время единственный способ доступа к company_name - это выполнить в консоли rails следующее:
configuration_company_name = Configuration.find_by_variable_name("company_name")
configuration_company_name.company_name
> "MyCompany"
Я думаю, что это неприемлемый способ сделать что-то.Во-первых, он будет обращаться к базе данных каждый раз, когда кто-то проверяет название компании.Я думаю, что если бы я мог загрузить его, когда приложение запустится и ему не нужно будет снова обращаться к нему, потому что оно находится в памяти, то это было бы лучше.Как я могу сделать что-то более динамичное, чтобы я мог получить доступ к значению «MyCompany» следующим образом.
Configuration.company_name
> "MyCompany"
Причина, по которой это делается, - дать возможность быстрой настройки приложения.