ruby on rails - Passing value from child class to parent -


a package made of expense, revenue, , balance based on sales made of amount. how add each @sale.amount @package.revenue?

model package.rb:

class package < activerecord::base   has_many :sales end 

model sale.rb:

class sale < activerecord::base   belongs_to :package end 

routes.rb:

rails.application.routes.draw   resources :packages     resources :sales     end   end end 

activerecord has handy sum method calculating sum of values in column:

class package < activerecord::base   has_many :sales    def revenue     sales.sum(:amount)   end end 

note while looks similar sales.map(&:amount).sum performance vastly better because activerecord let database calculation , retrieve single value (the final sum) database, whereas other method fetch every associated record database (of there may many thousands), instantiate sale object each one, amount each sale object , calculate sum.


Comments

Popular posts from this blog

OpenCV OpenCL: Convert Mat to Bitmap in JNI Layer for Android -

android - org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope -

python - How to remove the Xframe Options header in django? -