Muchos a muchos

tengo dos modelos
que se relacionan por muchos a muchos.

has_and_belongs_to_many :users
y
has_and_belongs_to_many :empresas

despues de realizar un login, guardo el usuario en una sesion de forma
que session[:user_id].name
retorna el nombre del usuario: ej: Administrador

Finalmete me interesa recoger en una variable @empresa
todas las empresas del usuario, para asi poder trabajar con ellas,

pero intento

@empresas = session[:user_id].empresas.map <<<<< !!!

y en vez de darme todas solo las empresas conectadas con user, pues me
las otiene todas.

pero si defino esto en el metodo:

La de cosas q encuentras en este foro

def permiso
empresas.map do |cu|
cu.empresa_id
end.flatten
end

session[:user_id].permiso que q me ofrece los identificadores de
empresa.

FINALMENTE ESTO FUNCIONO

@empresas = Empresa.find([session[:user_id].permiso])

aunque sigo pensando que existe una forma mas limpia sin tener q
recurrir al find()

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs