я работаю над системой, которая требует администратора и обычного пользователя, я пытаюсь внедрить систему, используя devise, rolify и cancancan. Моя проблема в том, что я хочу добавить роль администратора первому пользователю, который регистрируется в системе, но так пока я могу сделать это только через консоль rails, я также переопределил контроллер регистрации. ниже то, что я пробовал до сих пор.
Пользователь.rb
class User < ApplicationRecord
resourcify
rolify
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :invitable, :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
роль.rb
class Role < ApplicationRecord
has_and_belongs_to_many :users, :join_table => :users_roles
belongs_to :resource,
:polymorphic => true,
:optional => true
validates :resource_type,
:inclusion => { :in => Rolify.resource_types },
:allow_nil => true
scopify
end
Контроллер регистраций
class RegistrationsController < Devise::RegistrationsController
def create
super
@number_of_users = User.all.count
if @number_of_users == 0
resource.add_role :admin
end
end
end