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

On 11 November 2012 06:31, Soichi I. [email protected] wrote:

Give : weight:integer, day:date
if @give.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?

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.

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

soichi

On 11 November 2012 09:24, Soichi I. [email protected] wrote:

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.

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