wondering if there is a way to do this…
say we have a model that has attributes length and width…
:length and :width
and we have a class square:
class Square < ActiveRecord::Base
def area
area = length * width
end
end
is there a way i can do a:
Square.find(:area => ‘144’)
to produce any squares with an area of 144?
i know there are lots of other ways to do this, but in the case i am
working on, a find would be REALLY clean…
On Apr 28, 2:34pm, Sergio R. [email protected] wrote:
def area
i know there are lots of other ways to do this, but in the case i am
working on, a find would be REALLY clean…
Not directly (although clearly you could write Square.where(‘length *
width = 144’), or define a named scope that does this. you also can’t
use indexes for queries like this (unless your db supports functional
indexes)
Fred
On Thu, Apr 28, 2011 at 9:34 PM, Sergio R. [email protected]
wrote:
def area
area = length * width
end
end
is there a way i can do a:
Square.find(:area => ‘144’)
You can always use your db’s arithmetic operators, for mysql you can
look at
http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
–
thanks, guys!
i ended up just writing a method for the model that does the check…
it’s something that would only happen maybe once a week… and then,
maybe only one or two transactions.