2016-12-24 4 views
3

У меня есть модель с именем item, у которой есть столбец с именем price. Я предположил, что цена будет храниться как переменная экземпляра внутри предмета, но методКак получить доступ к атрибутам изнутри модели

def price 
    @price 
end 

Не возвращает ничего. Поэтому мой вопрос заключается в том, как я могу получить доступ и переопределить стоимость стоимости, извлеченную из базы данных, изнутри моей модели.

+0

Я думаю, что ответ на этот вопрос зависит от того, почему вы хотите, чтобы переопределить цену? Не могли бы вы поделиться дополнительной информацией? Какое правило вы бы хотели реализовать? Я могу придумать как минимум 3 метода: 1. указать значение по умолчанию для столбца, 2. переопределить accessor, 3. установить значение по умолчанию во время инициализации модели. Какой из этих методов лучше всего зависит от того, чего вы хотите достичь. –

+0

Я переопределяю его в случае, если ежедневный специальный актив активен для этого элемента, поэтому я написал цену метода, которая устанавливает переменную экземпляра '@price = self [: price]', затем вызывает другой метод check_for_daily_specials, а затем возвращает @price @GregNavis – ChadTheDev

+0

Спасибо за объяснение. Вы работаете с любыми отчетами? Например, вам нужно рассчитать общее количество проданных товаров за определенный день? Любые другие массовые операции? Если это так, добавление столбца 'NULL'able' discounted_price' может быть лучшим вариантом. –

ответ

Смежные вопросы