AIKraft/Skills/Страницы Inertia Rails

Страницы Inertia Rails

Page components, persistent layouts, Link/router navigation, Head, Deferred, WhenVisible, InfiniteScroll, and URL-driven state for Inertia Rails. React examples inline; Vue and Svelte equivalents in references. Use when building pages, adding navigation, implementing persistent layouts, infinite scroll, lazy-loaded sections, or working with client-side Inertia APIs (router.reload, router.replacePr

inertia-rails official Разработка

Что делает навык

Набор инструментов для создания страниц, навигации и управления состоянием в Inertia Rails, включая постоянные layouts, отложенную загрузку и работу с URL. Позволяет эффективно использовать клиентские API Inertia (router.reload, router.replaceProp) и избегать неэффективных паттернов синхронизации состояния.

Когда применять

  • Создание страниц с постоянными layouts, сохраняющими состояние (скролл, аудио) при навигации.
  • Управление UI-состоянием, производным от URL, через пропсы контроллера без использования useState/useEffect.
  • Обновление данных на странице без полной навигации с помощью router.reload({ only: [...] }).
  • Обновление пропсов без обращения к серверу с помощью router.replaceProp.

Как работает

  1. Определить необходимость постоянного layout и назначить его через Page.layout (React), defineOptions (Vue) или module script (Svelte), избегая обертывания в JSX return.
  2. Для состояния из URL: изменить контроллер для чтения params и передачи их как пропсов, а компоненту — читать их напрямую, обновляя URL через router.get.
  3. Для обновления данных без навигации использовать router.reload({ only: [...] }), избегая связки useEffect + fetch.
  4. Для обновления пропсов без серверного запроса использовать router.replaceProp.
  5. При использовании Deferred читать данные через usePage(), не передавая аргументы в функцию рендеринга.
  6. Доступ к flash получать через usePage().flash, а не usePage().props.flash.

Примеры запросов агенту

Как реализовать постоянный layout для страницы на React, чтобы не терять позицию скролла?
Как обновить данные на странице без перезагрузки всего контента, используя Inertia Rails?
Как правильно передать состояние из URL в компонент Vue, следуя лучшим практикам Inertia?

Что понадобится

  • Inertia Rails
  • Клиентская библиотека Inertia (React/Vue/Svelte)

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «inertia-rails-pages» из репозитория: # https://github.com/inertia-rails/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r inertia-rails-pages/ ~/.claude/skills/inertia-rails-pages/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.