Доступ к другой модели в Ember — surely есть ли лучший способ, чем ajax

Я добавляю в заголовок кнопку, которая добавляет пользователя в группу. Это работает, но выполнение ajax-запроса для этого кажется неправильным. Казалось бы, можно просто вызвать модель Group и сделать это там, но я не могу найти пример, где это реализовано.

Это находится в плагине…

Должен же быть способ превратить demoGroup в модель, а не просто оставить его как dict?

      const demoServerGroupName = siteSettings.pfaffmanager_demo_server_group;
      const groups = Site.currentProp("groups");
      const router = container.lookup("router:main");

      const demoGroup = groups.find((g) => {
        return g.name === demoServerGroupName;
      });
      const hasDemoServer = servers.find((g) => {
        return g.hostname.includes("pfaffmanagerdemo");
      });
      if (demoGroup && !hasDemoServer) {
        api.decorateWidget("header-buttons:before", (helper) => {
          const addToDemoGroup = function () {
            window.console.log("need to add to group", demoGroup);

            const groupId = demoGroup.id;
            const url = `/groups/${groupId}/join.json`;
            ajax(url, {
              type: "PUT",
              data: currentUser.username,
            })
              .then(() => {
                router.transitionTo("/pfaffmanager/servers"); //TODO: refer to the route?
              })
              .catch(popupAjaxError);
          };

          return helper.h(
            "button#newDemoServer",
            {
              className: "btn btn-text btn-primary create headerLink",
              title: I18n.t("pfaffmanager.server.create_demo_server_title"),
              onclick: addToDemoGroup,
            },
            I18n.t("pfaffmanager.server.create_demo_server_short")
          );
        });
      }

Если объект, с которым вы работаете, является экземпляром модели Group, вы можете напрямую вызвать addMembers. В противном случае используйте метод Group.findAll.

Для примеров использования обратитесь к кодовой базе.

Хм. Если посмотреть внимательнее на то, что делает groups.js, то оказывается, что он делает почти тот же самый JSON-запрос, что и я. Более того, Group.findAll(), который, как мне кажется, мне нужно было бы выполнить, чтобы использовать Group.addMembers, добавляет лишний AJAX-запрос, которого я сейчас стараюсь избегать. Возможно, мой код не так уж плох, как я думал!

Спасибо!