JavaFree.org | RubyOnBr.org

relacionamento N:N

Acompanhar relacionamento N:N 5 posts, 3 participantes

D212b7b6c54f0ccb2c848d23440b33ba?s=60&d=wavatar VictoRCA 180 posts

Tenho 3 tabelas: “perfil”(onde estão os perfis do usuário, exemplo: Gerente, Admin, Secretária, etc.)
“form”(onde estão cadastrados todas as permissoes do sistema, exemplo: cadastro de visita – incluir, cadastro de visita – excluir, etc.)
“perfilform”(onde está sendo gravado o id do perfil e o id da permissão)

Exemplo de uso: Eu escolho o perfil “Gerente”, depois vou incluir as ações que ele terá acesso(tabela form), cada ação que eu incluir terá que ser salvo na tabela “perfilform” o id do “Gerente” e o id da ação, sendo que o “Gerente” vai ter mais de uma ação. Deu para entender ou eu falei muita coisa sem sentido? =D

Gostaria de saber se alguem tem alguma screencast que ensine algo parecido, ou um tutorial. Se alguem souber um forma simples de fazer isso por favor me ajude. Obrigado!

 
Avatar Shairon Toledo 1428 posts

Isso tá com cara de associação polimorfica.

http://railscasts.com/episodes/154-polymorphic-association
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

 
D212b7b6c54f0ccb2c848d23440b33ba?s=60&d=wavatar VictoRCA 180 posts

o nome já me assusta…HUAHuahau….vou dar uma olhada.

 
Avatar c4r105x 88 posts

Com rails isso não é difícil, basta fazer o seguinte:
Você vai ter apenas 2 classes.

Se não me engano é no plural mesmo.
Quando você for acessar ou alterar as informações, basta fazer:

O código acima é para suas classes, agora vamos ao migrate.
Você precisa criar 3 tabelas, Perfil, Form e Forms_perfis

Lembrando que o nome da tabela é fundamental. Tem que ser as duas classes no plural e em ordem alfabética.

Espero ter ajudado.

 
D212b7b6c54f0ccb2c848d23440b33ba?s=60&d=wavatar VictoRCA 180 posts

Ajudou sim brother.
Vou testar segunda feira e posto aqui se tiver sucesso ou não.
Obrigado.