6

Soy bastante nuevo en esto y estoy usando cancan + idear para mi autenticación de usuario. Sin embargo, no estoy muy seguro de lo que significa establecer una relación de roles HABTM típica de los usuarios ni entiendo realmente qué es una relación HABTM.Cómo configurar una relación típica de roles HABTM de usuarios

¿Alguien puede explicarlo muy bien o señalarme un buen tutorial o ejemplo?

Respuesta

16

medios HABTM tiene y pertenece a muchos. Básicamente necesita una tabla como intermediario para rastrear múltiples identificaciones (llamada tabla directa). Cuando se hace referencia a ellos como una relación típica de roles HABTM de los usuarios, realmente quieren decir que habrá un modelo User, un modelo Role, una tabla de usuarios, una tabla de roles y una tabla roles_users. No olvide agregar la tabla HABTM - roles_users -. Una configuración típica de la siguiente manera:

class User < ActiveRecord::Base 
    has_and_belongs_to_many :roles 
end 

class Role < ActiveRecord::Base 
    has_and_belongs_to_many :users 
end 

continuación, puede utilizar las asociaciones como normal diciendo User.first.roles y Role.first.users.

También hay un coupleRailscasts en sus problemas.

+0

¿cómo se crea la tabla users_roles? – Vasseurth

+5

'rails g migration add_users_roles_table' – recursive

+0

Lo sentimos, presiona enter soon soon, edita lo anterior con la siguiente información: [gist] (https://gist.github.com/1082098). Luego ejecute 'rake db: migrate'. Deberias hacer eso. – recursive

3

El Ruby on Rails guías son un buen punto de partida here también this tutorial es exactamente lo que quiere

+1

Estoy usando el segundo tutorial, pero solo dice, 'configurar una relación HABTM' no dice cómo – Vasseurth

+2

http://mikewilliamson.wordpress.com/2010/07/02/rails-has_and_belongs_to_many/ - tutorial sencillo en habtm – Bohdan

+1

La mayoría de ellos tienen una migración de UsersHaveAndBelongToManyRoles, ¿cómo se genera eso? – Vasseurth

Cuestiones relacionadas