2016-12-28 5 views
0

В моем приложении для рельсов у меня есть три таблицы: users, roles и users_roles.Заполните таблицу соединений, используя seeds.rb

В моем seeds.rb файле У меня есть следующий код: рубиновый

# create super admin role 
Role.create!([{name: "Super Admin", description: "Super Admin (can do anything)"}]) 
# create user 
User.create!([{name: "Cameron", email: "[email protected]", password_digest: "$2a$10$k4FPOZlVmy.hIM5z1scFYeFc8cNcVGpq..MU0529LlSGylEqYLaqC"}]) 
# make user super admin 
User::HABTM_Roles.create!([{user_id: 1, role_id: 1}]) 

Однако он не на этой последней строке: User::HABTM_Roles.create!

Как добавить данные в таблицу присоединиться?

ответ

2

Попробуйте что-то вроде

User.first.roles << Role.first 
+0

Эй приятель, не могли бы вы объяснить, что этот код делает? Я новичок в Ruby, спасибо. – Cameron

+0

Я думаю, что ваша пользовательская модель has_many ролей. Это означает, что он может содержать массив объектов ролей. Эта строка подталкивает первую роль в конце массива ролей у первого пользователя. – Ursus

+0

'id' не обязательно' 1', хотя если семена были запущены пару раз. Лучше получить 'user' from' user = User.create (...)' – Iceman

Смежные вопросы