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 2012-11-11 07:31
on 2012-11-11 10:06
On 11 November 2012 06:31, Soichi Ishida <lists@ruby-forum.com> 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
on 2012-11-11 10:24
> > 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
on 2012-11-11 10:57
On 11 November 2012 09:24, Soichi Ishida <lists@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
on 2012-11-11 11:09
> 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... ;) soichi
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.