Проблемы с редактированием ролей пользователей rails

#ruby-on-rails #ruby #ruby-on-rails-5

Вопрос:

У меня проблема.

В моей системе, в разделе редактирования пользователей, у меня есть создаваемые функции, которые я могу использовать или предоставлять пользователям ROLES_CREATEABLE = [АДМИНИСТРИРОВАНИЕ, УПРАВЛЕНИЕ ПЕРСОНАЛОМ, КАЧЕСТВО, МЕНЕДЖЕР, БЕЗОПАСНОСТЬ, БУХГАЛТЕРСКИЙ УЧЕТ, ФИНАНСОВЫЙ, ЮРИДИЧЕСКИЙ, ИТ, DP, КОММЕРЧЕСКИЙ]

Но у меня есть те, которые предназначены для администраторов, которые не могут быть предоставлены или отозваны в издании ROLES_ADMIN = [ADMIN, DEV, ADMIN_EMPRESA]

И у меня есть свои возможные функции, которые уже есть у пользователя. Массив под названием role_possible
Представляет собой комбинацию всех функций, которыми обладает пользователь

Моя проблема в том, что когда я редактирую роли своего пользователя, администраторы теряют свои роли

Мой контроллер править:

  def edit
    @user = User.find(params['id'])
    @roles_possible = {}
    if @user.roles_possible
      @user.roles_possible.each do | role |
        @roles_possible[role] = true
      end
    end
end
 

Мой взгляд:

 <% User::ROLES_CREATEABLE.each do |role| %>
            <div class="radio col-sm-4 col-md-6 col-lg-6">
              <label>
                <%= check_box_tag "roles_possible[#{role}]",true, @roles_possible ? @roles_possible["#{role}"] : false%>
                <%= role %>
              </label>
            </div>
          <% end %>
 

при передаче byebug и вызове @roles_possible перед сохранением у меня есть:
введите описание изображения здесь

@roles_possible после сохранения у меня есть: введите описание изображения здесь

мои возможные роли на португальском языке

Как я могу решить эту проблему?

Помня, что я не могу поместить свой РОЛЕВОЙ_АДМИН в флажок для редактирования