Hi, got an issue here ^^ Ok so my problem is that I have a table named "users_accounts" and another one named "accounts_messages". As you will guess, accounts_messages is a list of messages that "users_accounts" can interchange. Here comes my problem: for each message I need to know who is the autor and the destinator, so in "accounts_messages" I have two parameters which are: autor_user_account_id (refers to the autor account) and user_account_id (refers to the destinator account). So in my AccountMessage ruby model class I want to refer two times to the users_accounts table. How do I do that? More precisely my question is how do I do to keep the relation navigability for the two parameters? If I declare those two lines: class AccountMessage < ActiveRecord::Base belongs_to :autor_user_account belongs_to :user_account ... end obviously autor_user_account wont refer alone to the UserAccount class. So how can I declare those two parameters in order to use them that way for exemple: message = AccountMessage.find(...) printf "autor name: #{message.autor_user_account.name}" printf "destinator name: #{message.user_account.name}" We supose here that the "users_accounts" table has a name property of course. Hope it''s understandable :) Olivier. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> Hi, got an issue here ^^ Ok so my problem is that I have a table named > "users_accounts" and another one named "accounts_messages". As you > will guess, accounts_messages is a list of messages that > "users_accounts" can interchange. Here comes my problem: > for each message I need to know who is the autor and the destinator, > so in "accounts_messages" I have two parameters which are: > autor_user_account_id (refers to the autor account) and > user_account_id (refers to the destinator account). > > So in my AccountMessage ruby model class I want to refer two times to > the users_accounts table. How do I do that? More precisely my question > is how do I do to keep the relation navigability for the two > parameters? If I declare those two lines: > class AccountMessage < ActiveRecord::Base > belongs_to :autor_user_account > belongs_to :user_account > > ... > end >>Look into the :class_name and :foreign_key parameters that go along with belongs_to/has_one/has_many. :class_name Specify the class name of the association. Use it only if that name can‘t be inferred from the association name. So has_one :author will by default be linked to the Author class, but if the real class name is Person, you‘ll have to specify it with this option. :foreign_key Specify the foreign key used for the association. By default this is guessed to be the name of the association with an "_id" suffix. So a class that defines a belongs_to :person association will use "person_id" as the default :foreign_key. Similarly, belongs_to :favorite_person, :class_name => "Person" will use a foreign key of "favorite_person_id".> obviously autor_user_account wont refer alone to the UserAccount > class. So how can I declare those two parameters in order to use them > that way for exemple: > > message = AccountMessage.find(...) > printf "autor name: #{message.autor_user_account.name}" > printf "destinator name: #{message.user_account.name}" > > We supose here that the "users_accounts" table has a name property of > course. > > Hope it''s understandable :) > Olivier. > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Great, thank you very mucho for the help! ^^ On 31 mar, 23:25, Philip Hallstrom <phi...-LSG90OXdqQE@public.gmane.org> wrote:> > Hi, got an issue here ^^ Ok so my problem is that I have a table named > > "users_accounts" and another one named "accounts_messages". As you > > will guess, accounts_messages is a list of messages that > > "users_accounts" can interchange. Here comes my problem: > > for each message I need to know who is the autor and the destinator, > > so in "accounts_messages" I have two parameters which are: > > autor_user_account_id (refers to the autor account) and > > user_account_id (refers to the destinator account). > > > So in my AccountMessage ruby model class I want to refer two times to > > the users_accounts table. How do I do that? More precisely my question > > is how do I do to keep the relation navigability for the two > > parameters? If I declare those two lines: > > class AccountMessage < ActiveRecord::Base > > belongs_to :autor_user_account > > belongs_to :user_account > > > ... > > end > > Look into the :class_name and :foreign_key parameters that go along > with belongs_to/has_one/has_many. > > :class_name > Specify the class name of the association. Use it only if that > name can‘t be inferred from the association name. So has_one :author > will by default be linked to the Author class, but if the real class > name is Person, you‘ll have to specify it with this option. > > :foreign_key > Specify the foreign key used for the association. By default this > is guessed to be the name of the association with an "_id" suffix. So > a class that defines a belongs_to :person association will use > "person_id" as the default :foreign_key. Similarly, > belongs_to :favorite_person, :class_name => "Person" will use a > foreign key of "favorite_person_id". > > > > > obviously autor_user_account wont refer alone to the UserAccount > > class. So how can I declare those two parameters in order to use them > > that way for exemple: > > > message = AccountMessage.find(...) > > printf "autor name: #{message.autor_user_account.name}" > > printf "destinator name: #{message.user_account.name}" > > > We supose here that the "users_accounts" table has a name property of > > course. > > > Hope it''s understandable :) > > Olivier.- Ocultar texto de la cita - > > - Mostrar texto de la cita -- Ocultar texto de la cita - > > - Mostrar texto de la cita ---~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---