Nick5a1
Nick5a1

Reputation: 917

Rails - Seeding HABTM associations

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'))

Equipment and Workouts have a HABTM relationship. The above seeds code works but how can I also assign a second equipment association at the same time as the first?

Upvotes: 7

Views: 2085

Answers (2)

CBear
CBear

Reputation: 31

In the seeds file this simple list worked with products and categories(HABTM) relationship. It's super literal and effective.

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

Upvotes: 3

Matzi
Matzi

Reputation: 13925

In the where condition, you can use array:

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']))

Upvotes: 7

Related Questions