help for ideas of instance method or controller

I have a general question about Rails controller or instance method.

Say, I have two models,

  Give
  Take

Each of these has an identical set of columns like,

  Give : weight:integer, day:date
  Take: weight:integer, day:date

When @give = Give.new is created, I want to search if there is a
counterpart, Take, having the same values, weight and day. So I need to
define a search method somewhere.

I believe it will look like

@give = Give.new
...
if @give.search_counter #<- returns true if the counterpart exists
   ...
else
end

This must work for Take as well

@take = Take.new
...
if @take.search_counter #<- returns true if the counterpart exists
   ...
else
end

Questions:
Is it possible? I am not sure if the method works without arguments...
Where do I have to define the method? application_controller.rb maybe?

soichi

It looks to me as if you should only have one table for both give and
take. Is there a reason why this is not possible.

Colin

It looks to me as if you should only have one table for both give and
take. Is there a reason why this is not possible.

You might be right. I will try that way.
Thanks.

soichi

Note that you can have multiple associations into the same table using
and :class_name option. So for example
class Something
  belongs_to :give, :foreign_key => "give_id", :classname => "Widget"
  belongs_to :take, :foreign_key => "take_id", :classname => "Widget"

Have a look at the Rails Guide on ActiveRecord Associations for more
information.

Colin

Note that you can have multiple associations into the same table using
and :class_name option. So for example
class Something
  belongs_to :give, :foreign_key => "give_id", :classname => "Widget"
  belongs_to :take, :foreign_key => "take_id", :classname => "Widget"

Have a look at the Rails Guide on ActiveRecord Associations for more
information.

Thanks. I always wonder why I do things more complicated than
necessary... :wink:

soichi