7
Equipment.create(name: "Room to run") 
Equipment.create(name: "Pull-up bar") 
Workout.create(
    description: "Do 100 pull-ups then run 5km", 
    :equipment => Equipment.where(:name => 'Pull-up bar')) 

El equipo y los entrenamientos tienen una relación HABTM. El código de semillas anterior funciona, pero ¿cómo puedo asignar una segunda asociación de equipos al mismo tiempo que la primera?Rieles - Sembrando asociaciones HABTM

Respuesta

7

En la condición en la que, se puede utilizar matriz:

Equipment.create(name: "Room to run") 
Equipment.create(name: "Pull-up bar") 
Workout.create(
    description: "Do 100 pull-ups then run 5km", 
    :equipment => Equipment.where(:name => ['Pull-up bar', 'Room to run'])) 
+0

El uso de equipos en este ejemplo es desafortunado. El equipo de nombre es tanto singular como plural, lo que oculta un detalle importante. Si estuviéramos hablando de perros, el ejemplo sería: perros => Dog.where (: name => ['Fido', 'Butch'])) –

2

En las semillas de presentar esta lista simple trabajó con relación productos y categorías (HABTM). Es súper literal y efectivo.

Product.find(1).categories << Category.find(4) 
Product.find(1).categories << Category.find(5) 
Product.find(2).categories << Category.find(5) 
Cuestiones relacionadas