Rails后台启动器

plutonium-core — Rails 后台模板

作者 radioactive-labs

Plutonium 是一个基于 Rails 的后台与启动器模板,通过生成器把 CRUD、认证、授权、多租户、门户、搜索筛选和批量操作等常见后台能力直接写入项目代码。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

生成器一次产出模型、迁移、定义和策略,覆盖 CRUD、搜索、筛选与批量操作

02

策略与定义分离:Policy 控制权限与可写字段,Definition 控制渲染、搜索和 scope

03

支持门户(Portal)与包(Package)拆分,业务逻辑和 Web 界面可独立组织

04

内置 Rodauth 认证与多租户实体作用域,支持路径或域名策略

05

提供交互(Interaction)机制实现自定义业务动作,生成代码位于仓库中可自由修改

模板详细介绍

Plutonium 面向 Rails 项目,提供一套约定驱动的资源架构:模型、策略(Policy)、定义(Definition)和控制器协同工作,策略控制谁能执行哪些操作,定义控制字段如何渲染、搜索与筛选如何生效。它通过 Rails 生成器快速搭建资源、门户(Portal)和包(Package),把生成代码留在仓库中,可自行修改、覆盖或删除。

模板内置 Rodauth 认证集成、基于实体作用域的多租户支持(路径或域名策略),以及自定义交互(Interaction)机制,用于实现发布等业务动作。项目按门户和包拆分业务逻辑与 Web 界面,资源通过连接命令挂载到指定门户。

使用前提是 Ruby 3.2.2+、Rails 7.2+(推荐 Rails 8)和 Node.js 18+。仓库采用 MIT 许可,免费范围为该版本代码;演示图片、字体、图标等第三方素材以及域名、托管、数据库、支付或 AI 等外部服务需另行核对许可与费用。

Rails后台启动器

适合你的项目吗?

适用场景

  • 需要快速搭建带权限控制、搜索筛选和批量操作的后台管理界面
  • 希望把业务逻辑与 Web 界面拆分为多个门户或引擎的 Rails 项目
  • 需要多租户隔离并按路径或域名区分组织数据的应用
  • 想用 Rodauth 集成认证并自定义账号体系的 Rails 后台

适合人群

  • 熟悉 Rails 并希望减少重复后台代码的开发者
  • 需要权限、多租户和后台门户一体化方案的项目
  • 接受约定驱动架构、愿意阅读和修改生成代码的团队

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    使用 rails new 配合 Plutonium 模板创建应用,模板地址为 radioactive-labs.github.io/plutonium-core/templates/plutonium.rb

  2. 2

    通过 rails g pu:res:scaffold 生成资源,再用 pu:pkg:portal 创建门户、pu:res:conn 连接资源

  3. 3

    环境要求 Ruby 3.2.2+、Rails 7.2+(推荐 Rails 8)和 Node.js 18+

  4. 4

    认证需运行 pu:rodauth:install 与 pu:rodauth:account 生成器

  5. 5

    代码采用 MIT 许可,第三方素材与外部服务需单独核对许可和费用

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 使用需满足运行环境要求:Ruby 3.2.2 及以上、Rails 7.2 及以上(推荐 Rails 8)、Node.js 18 及以上,低于这些版本无法运行。
  • 创建应用需从远程地址加载 Plutonium 模板,依赖网络访问该外部模板地址,离线环境无法直接使用。
  • 认证功能依赖 Rodauth 集成,需运行 pu:rodauth:install 与 pu:rodauth:account 生成器进行配置,并非开箱即用。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Ruby 3.2.2+ - Rails 7.2+ (Rails 8 recommended) - Node.js 18+

README 原文

rails new myapp -a propshaft -j esbuild -c tailwind \ -m https://radioactive-labs.github.io/plutonium-core/templates/plutonium.rb

README 原文

**Built-in authentication** via Rodauth:

README 原文
https://github.com/radioactive-labs/plutonium-core/blob/master/LICENSE.txthttps://github.com/radioactive-labs/plutonium-core/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 92 / 100
技术栈
Rails
网站类型
后台 · 启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-30
截图检查日期
2026-10-01

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Rails。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 1c210ac3962d5b7ef8bbe1f9f71cf7a82c736437b8ac0344351354b9dbacaf57

2026-10-01T02:49:31.130Z

来源文件 / 仓库
# Plutonium

[![Gem Version](https://badge.fury.io/rb/plutonium.svg)](https://badge.fury.io/rb/plutonium)
[![Ruby](https://github.com/radioactive-labs/plutonium-core/actions/workflows/main.yml/badge.svg)](https://github.com/radioactive-labs/plutonium-core/actions/workflows/main.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.txt)

**The Rails framework for things you should never write again.**

Convention over configuration, extended to everything you keep rebuilding: **CRUD. Auth. Authorization. Multi-tenancy. Admin portals. Search, filters, bulk actions.** All generated. All customizable. All Rails.

## Quick Start

```bash
rails new myapp -a propshaft -j esbuild -c tailwind \
  -m https://radioactive-labs.github.io/plutonium-core/templates/plutonium.rb
```

Then scaffold a resource, create a portal, and connect them:

```bash
cd myapp

# Scaffold a resource — model, migration, definition, policy
rails g pu:res:scaffold Post title:string body:text published_at:datetime --dest=main_app
rails db:prepare

# Create a portal (web interface) and connect the resource to it
rails g pu:pkg:portal app --public
rails g pu:res:conn Post --dest=app_portal

bin/dev
```

Visit `http://localhost:3000/app/posts` — you have a complete CRUD interface.

## What You Stop Writing

Same scaffold command you already know. A very different surface area.

```bash
rails g scaffold Post ...              # Rails:     just CRUD
rails g pu:res:scaffold Post ...       # Plutonium: full CRUD + search + filters + bulk actions
```

And it doesn't stop at scaffolds:

**Resource-oriented architecture** — models, policies, definitions, and controllers that work together:

```ruby
# Policy controls WHO can do WHAT
class PostPolicy < ResourcePolicy
  def create? = user.present?
  def update? = record.author == user || user.admin?

  def permitted_attributes_for_create
    %i[title body]
  end
end

# Definition controls HOW it renders
class PostDefinition < ResourceDefinition
  input :body, as: :markdown
  search { |scope, q| scope.where("title ILIKE ?", "%#{q}%") }
  scope :published
  scope :drafts
end
```

**Packages and portals** — split your app into feature engines and themed web interfaces:

```bash
rails g pu:pkg:package blogging      # Business logic
rails g pu:pkg:portal admin          # Web interface
rails g pu:res:conn Post --dest=admin_portal
```

**Built-in authentication** via Rodauth:

```bash
rails g pu:rodauth:install
rails g pu:rodauth:account user
```

**Multi-tenancy** with entity scoping:

```ruby
# In a portal engine
scope_to_entity Organization, strategy: :path
# Routes become /organizations/:organization_id/posts
```

**Custom actions** with interactions:

```ruby
class PublishInteraction < ResourceInteraction
  attribute :resource
  attribute :publish_at, :datetime

  def execute
    resource.update!(published_at: publish_at)
    succeed(resource).with_message("Published!")
  rescue ActiveRecord::RecordInvalid => e
    failed(e.record.errors)
  end
end
```

## Why Plutonium

- **Convention over configuration** — extended to resources, policies, portals, and tenancy, not just routes and views.
- **It's just Rails** — generated code lives in your repo. Edit it, override it, delete it. The "magic" is regular Ruby mixins you can read.
- **Multi-tenant ready** — path or domain tenancy, scoped relations, invites and memberships out of the box.
- **AI-readable** — predictable file layout and naming, plus built-in [Claude Code skills](.claude/skills) that teach AI assistants the patterns.

## Documentation

Full documentation at **[radioactive-labs.github.io/plutonium-core](https://radioactive-labs.github.io/plutonium-core/)**

- [Installation](https://radioactive-labs.github.io/plutonium-core/getting-started/installation)
- [Tutorial](https://radioactive-labs.github.io/plutonium-core/getting-started/tutorial/)
- [Guides](https://radioactive-labs.github.io/plutonium-core/guides/)
- [Reference](https://radioactive-labs.github.io/plutonium-core/reference/)

## Requirements

- Ruby 3.2.2+
- Rails 7.2+ (Rails 8 recommended)
- Node.js 18+

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.

## License

MIT License — see [LICENSE.txt](LICENSE.txt).
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。