JavaFree.org | RubyOnBr.org

Relacionamento n:n com 3 tabelas no Rails

Acompanhar Relacionamento n:n com 3 tabelas no Rails 5 posts, 3 participantes

Avatar Aguinelo Ped... 18 posts

Salve galera,

preciso fazer um relacionamento n:n em uma aplicação, tenho uma tabela de usuarios e uma tabela de projetos e outra que relaciona usuarios e projetos através dos ids, um usuario pode trabalhar em diversos projetos e um projeto pode conter vários usuarios.

Como criar esse relacionamento??

Valew

 
Avatar coelhao 88 posts

e se tu criar a tabela intermediária seguindo o padrão de nomeclatura nem precisa colocar o :join_table

 
Avatar Aguinelo Ped... 18 posts

Cara perfeito…. eu bem imaginei que era isso, mas fiquei em duvida com belongs_to em todos os modelos, só mais uma dúvida, em que modelo vai isso?? no da tabela intermediária?

 
Avatar Philipe 136 posts

existe 2 formas de fazer… has_and_belongs_to_many e has_many trough

no 1º

Vantagens:
N precisa criar modelo para a tabela intermediaria e se vc usar a convensão do rails nem precisa seta-la (convensão… nome1_nome2 em ordem alfabética, ou seja, projects_users… no plural, se vc tiver fazendo o projeto em portugues usa o join_table XD)

OU…

Vantagens:
Se sua tabela intermediaria tiver 1 campo adicional, vc pode acessa-lo facilmente.

Obs: No outro relacionamento eu consegui por valor no campo adicional, porém n achei 1 método de pegar o valor do campo adicional.. =[!

 
Avatar Aguinelo Ped... 18 posts

Valew Philipe agora entendi perfeitamente, eu tinha feito da segunda maneira mais com belongs_to em todos os modelos ao invés de has_many.

Abraço