help for ideas of instance method or controller

21 views
Skip to first unread message

Soichi Ishida

unread,
Nov 11, 2012, 1:31:24 AM11/11/12
to rubyonra...@googlegroups.com
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

--
Posted via http://www.ruby-forum.com/.

Colin Law

unread,
Nov 11, 2012, 4:05:03 AM11/11/12
to rubyonra...@googlegroups.com
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

Soichi Ishida

unread,
Nov 11, 2012, 4:24:34 AM11/11/12
to rubyonra...@googlegroups.com
>
> 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.

Colin Law

unread,
Nov 11, 2012, 4:55:41 AM11/11/12
to rubyonra...@googlegroups.com
On 11 November 2012 09:24, Soichi Ishida <li...@ruby-forum.com> 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

Soichi Ishida

unread,
Nov 11, 2012, 5:09:09 AM11/11/12
to rubyonra...@googlegroups.com
> 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... ;)
Reply all
Reply to author
Forward
0 new messages