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