2015-07-21 3 views
0

Я хочу сохранить временный атрибут в модели ActiveRecord.Определить временный атрибут в модели ActiveRecord

class Order < ActiveRecord::Base 
    attr_accessor :order_total 

    def order_total 
    self[:order_total] = self.sale_sum + self.freight_charges 
    end 
end 

order = Order.find(1) 
order.order_total 

Мой вопрос: Как я могу определить виртуальный (так называемый временный) атрибут в модели ActiveRecord?

+2

Пожалуйста, напишите ваш код как * текст *, не вставляйте код в качестве изображений. –

+0

Почему бы не использовать 'order_total' как метод, а не пытаться сделать его атрибутом? Это было бы чище. Тем не менее, вам может понадобиться метод setter, чтобы он работал. – dewdrops

ответ

1
class Order < ActiveRecord::Base 

    def order_total 
    sale_sum + freight_charges 
    end 

end 

order = Order.find(1) 
order.order_total # will eq to sale_sum + freight_charges 
Смежные вопросы