倾心打造快速开发利器——The Brick!
从任何现有数据库轻松启动Rails应用
欢迎进入一个神奇的世界,这里可以即时运行的Rails应用程序只需一键生成!这个gem会自动创建模型、视图、控制器和路由,并且所有这些都不是一堆原始的辅助文件,而是存储在内存中。最棒的是,当你对数据库进行如添加新表或列的修改时,基础功能会立即可用,无需额外编写代码。对于像列表只读、编辑启用后的布局规则(在线或弹出模态)等通用行为,可以全局设定,同时也可以对每个模型进行更精细的行为调整和默认设置覆盖。

你可以以多种方式使用The Brick,例如快速浏览现有的数据集,全链路导航关联数据;轻松更新和创建数据,将表格或视图导出为CSV或Google Sheets;导入数据集,即使每一行都涉及到多个目标表;自动生成API端点;逐步创建最小化的辅助应用程序,按需编写文件;尝试各种数据布局,评估给定数据库设计的功能性等等。
我们有来自Deanin的**YouTube视频教程**,为你展示了如何从零开始。非常感谢你的分享!
此外,还有我早期录制的视频教程概述,建议准备好爆米花并开启播放器音量,因为这是一段较长的讲解:
简要概述
The Brick的宗旨是尽可能遵循Rails惯例。因此,模型、控制器和视图被独立处理。你可以选择仅自动化构建模型,然后自己编写控制器和视图,或者让The Brick自动构建一部分资源的控制器和视图,同时允许你在其他部分加入自定义代码。无论你想如何混合搭配,都是可能的。The Brick的目标是自动完成应用程序中更多繁琐而简单的部分,让你能专注于解决更棘手的问题。
默认生成的页面提供每个模型的“索引”和“显示”视图,通过链接展示相关的模型。列出所有记录的“索引”页只需一次数据库查询,避免了常见的“N+1”查询问题。智能JOIN添加策略确保了即使请求多跳远的数据字段,也能优化查询性能。这使开发者免于编写复杂的ActiveRecord查询。直到版本1.0.91,这种方法相当成功,但当涉及自我引用的表,如Employee表上有manager_id字段并使用定制的DSL [name]时,从相关表(如orders)的查询中,员工的名字和其上司的名字可能会显示相同(虽然显然员工和上司在同一个表中是两个不同的记录)。为了修复这个问题,从1.0.92版本开始,采用了一种全新的方法,即在解析Arel的AST树时捕获表别名逻辑,准确追踪与关联名称相对应的关系表。这还带来了一个很酷的功能,即查找复杂ActiveRecord查询的表别名。
“显示”页面上,单个记录的CRUD操作可以直接完成。日期和时间字段使用轻量级库“flatpickr”实现弹出日历编辑。
在模型层面,所有主要的ActiveRecord关联都被构建出来,包括has_many和belongs_to,以及has_many :through、Single Table Inheritance(STI)和多态关联。基于数据库中的外键,生成相应的belongs_tos,然后添加与其相反的has_manys。进一步地,如果有仅包含belongs_to字段的表,会被认为是“关联”(或“连接”)表,接着会添加适当的has_many :through关联。比如,如果存在如下关系:
Recipe --> RecipeIngredient <-- Ingredient
首先,在RecipeIngredient上建立两个belongs_to关联,然后反向添加两个对应的has_manys —— 一个是Recipe中的,另一个是Ingredient中的。最后,如果RecipeIngredient被认为是关联表(只要除了这两个外键之外没有其他列,即recipe_id和ingredient_id),那么在Recipe中会自动添加HMT:
has_many :ingredients, through: :recipe_ingredients
而在Ingredient中也会添加另一个HMT:
has_many :recipes, through: :recipe_ingredients
这样,访问http://localhost:3000/recipes时,就可以看到每个食谱以及它所需的全部食材,通过HMT实现。
如果(或两者)的外键在数据库中缺失,可以在初始化文件中添加。例如,如果Recipe和RecipeIngredient之间的外键丢失,可以通过以下方式在初始文件中指定:
::Brick.additional_references = [['recipe_ingredients', 'recipe_id', 'recipes']]
The Brick可以自动生成初始化文件,只需运行rails g brick:install,并在过程中自动推断缺失的外键参考。它基于找到看起来像是适当键名的列名,并在数据类型与主键类型匹配时做出注释掉的建议。通过取消注释你需要的部分(甚至全部),对The Brick来说,这些外键就像是存在的,Rails就会提供参照完整性。
许多其他设置可以在config/initializers/brick.rb中找到。
还有很多有趣的生成器,如果你想从现有数据库生成一套迁移文件,可以运行生成器bin/rails g brick:migrations。同样,可以生成模型文件:bin/rails g brick:models。甚至现有的数据行也可以保存到db/seeds.rb文件中,只需运行bin/rails g brick:seeds。有关这些的更多信息,请参阅1.f,1.g,1.h部分——“自动生成___文件”的章节。
这篇文章无法一一列举The Brick的所有功能和优势,但它已经足够引起你的兴趣,探索这个强大的工具,看看它如何简化你的工作流程。无论是快速浏览数据库结构,还是构建高度互动的应用程序,The Brick都将是你开发过程中的强大盟友。现在就开始你的旅程吧!
ERNIE-4.5-VL-28B-A3B-ThinkingERNIE-4.5-VL-28B-A3B-Thinking 是 ERNIE-4.5-VL-28B-A3B 架构的重大升级,通过中期大规模视觉-语言推理数据训练,显著提升了模型的表征能力和模态对齐,实现了多模态推理能力的突破性飞跃Python00
unified-cache-managementUnified Cache Manager(推理记忆数据管理器),是一款以KV Cache为中心的推理加速套件,其融合了多类型缓存加速算法工具,分级管理并持久化推理过程中产生的KV Cache记忆数据,扩大推理上下文窗口,以实现高吞吐、低时延的推理体验,降低每Token推理成本。Python03
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
Spark-Prover-7BSpark-Prover-7B is a 7B-parameter large language model developed by iFLYTEK for automated theorem proving in Lean4. It generates complete formal proofs for mathematical theorems using a three-stage training framework combining pre-training, supervised fine-tuning, and reinforcement learning. The model achieves strong formal reasoning performance and state-of-the-art results across multiple theorem-proving benchmarksPython00
MiniCPM-V-4_5MiniCPM-V 4.5 是 MiniCPM-V 系列中最新且功能最强的模型。该模型基于 Qwen3-8B 和 SigLIP2-400M 构建,总参数量为 80 亿。与之前的 MiniCPM-V 和 MiniCPM-o 模型相比,它在性能上有显著提升,并引入了新的实用功能Python00
Spark-Formalizer-7BSpark-Formalizer-7B is a 7B-parameter large language model by iFLYTEK for mathematical auto-formalization. It translates natural-language math problems into precise Lean4 formal statements, achieving high accuracy and logical consistency. The model is trained with a two-stage strategy combining large-scale pre-training and supervised fine-tuning for robust formal reasoning.Python00
GOT-OCR-2.0-hf阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile014
Spark-Scilit-X1-13B科大讯飞Spark Scilit-X1-13B基于最新一代科大讯飞基础模型,并针对源自科学文献的多项核心任务进行了训练。作为一款专为学术研究场景打造的大型语言模型,它在论文辅助阅读、学术翻译、英语润色和评论生成等方面均表现出色,旨在为研究人员、教师和学生提供高效、精准的智能辅助。Python00- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00