Surendra Singhi <efuzzyone@netscape.net> writes:
> Rails provide counter cache field for associations, I want a similar cache
> for totaling up values
> (say account_balance = sum_of_deposits - sum_of_withdrawals).
OK. I went ahead and wrote something of my own. For this purpose I had to
extend the rails internal a bit, it is working but I was wondering whether I
have done things the right way.
[1] Is there any way of adding one more option to the
''belongs_to''
declaration? I didn''t find any so I wrote my own declaration titled
''belongs_to_opt''. But there is a little bit of redundancy in
the my
implementation of `belongs_to_opt'' and rails internal
`belongs_to'', I was
wondering if there was a way of getting rid of that.
[2]In the rails wiki to extend ActiveRecords `append_features'' is used
http://wiki.rubyonrails.com/rails/pages/ExtendingActiveRecordExample
I was wondering shouldn''t it be `included'', because in the
Pragmatic book it
is mentioned that `included'' is the preferred way.
I have extended ActiveRecords in the following way, does it follows the
convention, does the style of extending looks OK?
module ActiveRecord
module Associations # :nodoc:
def self.append_features(base)
super
base.extend(ClassMethods)
end
module ClassMethods
def belongs_to_opt(association_id, options = { })
.......
end
class AssociationCollection
....
end
end
end
It is my first foray into peeking at the rails core, and I am really impressed
by the clarity of the code. It was so easy to understand and grasp the
flow. My first impression is that Rails not only helps in writing beautiful
code, but itself is written beautifully.
Any tips will be appreciated.
Thanks.
--
Surendra Singhi
http://ssinghi.kreeti.com, http://www.kreeti.com
Read the latest news at: http://news.kreeti.com
,----
| Great wits are sure to madness near allied,
| And thin partitions do their bounds divide.
|
| (John Dryden, Absalom and Achitophel, 1681)
`----