Как изменить имя таблицы соединений по умолчанию в rolify.rb? - PullRequest
0 голосов
/ 07 января 2019

У меня есть dim_user, dim_role и role_user_map таблицы. Я использую rolify Gem для авторизации. У меня нет role_id в качестве первичного ключа. В моем случае role_name является первичным ключом, а моя таблица role_user_map будет иметь 2 столбца (user_id, role_name). Как изменить имя по умолчанию для join_table и другие имена таблиц в rolify.rb?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Посмотрите на /db/schema.rb и посмотрите структуру таблиц, созданных драгоценным камнем, затем измените и / или переименуйте ваши существующие таблицы, чтобы соответствовать тому, что драгоценный камень ожидает, что их структура и имена будут По-видимому, если у вас уже есть существующая карта или «сквозные» таблицы, которые вам придётся обмануть гемом. Создайте временное приложение и запустите генератор гемов с именами ваших ранее существующих таблиц (я не знаю, запускает ли гем миграцию, если нет, то вам придется запустите rake db: migrate after), затем проверьте созданные таблицы в schema.rb. Затем вернитесь в свое приложение для разработки и реструктурируйте таблицы так, чтобы они соответствовали таблицам в временном приложении

0 голосов
/ 07 января 2019

Я не знаком с этим, но я читал на странице Rolify github таблицы dim_role dim_user и role_user_map, которые вы уже имели до того, как установили гем rolify? Вы должны использовать генератор гемов для создания ролевых моделей с использованием синтаксических направляющих g rolify Вы можете передавать DimRole и DimUser в качестве аргументов вместо просто Role и User, но опять же, вы должны позволить гему создать отображение стол для вас, еще не создав его самостоятельно

...