Rails 生成模型:数据库模型初学者指南

在 2026 年快速发展的 Web 开发世界中,新的 JavaScript 框架、人工智能辅助编码工具和无服务器架构占据头条新闻,一项技术悄然继续蓬勃发展: 红宝石 on Rails。 2026 年的 Rails 远非过去的遗物,而是一个成熟的、经过考验的强大工具——经过二十多年的完善,成为一个优先考虑的框架 开发者幸福, 快速生产力, 和 长期可维护性。 Shopify等主要平台, GitHub (早期)、Basecamp 以及无数初创公司和企业仍然依赖 Rails 来快速可靠地发布功能。 秘密酱汁? Rails 的哲学 约定优于配置 和 不要重复自己(干) 大大减少了样板代码,让开发人员专注于解决实际问题,而不是与基础设施作斗争。 每个 Rails 应用程序的基础都是整个框架中最强大且最常用的命令之一: bash rails generate model # Most developers prefer the beloved shortcut rails g model 这个不起眼的命令是几乎每个 Rails 项目开始其数据之旅的地方。只需一行代码,它就可以创建模型、数据库迁移、测试,甚至固定装置——所有这些都与 Rails 约定完全一致。 无论您是刚刚开始第一个 Rails […]

Rails 低代码比低代码更好

2024 年 12 月 2 日更新:关于 Hacker News 上的帖子进行了热烈的讨论,您可能也会感兴趣: 链接到线程。 “我们需要一个非常简单的 CRUD 应用程序来管理预订。” 他们 说。 “不要花太多时间在这上面。” 他们 额外。 我的思绪飞速运转:“嗯,我非常喜欢 Ruby on Rails,这看起来很合适。但我之前也使用过这些低代码工具,它们应该是此类内容的完美解决方案。这里我该用什么……”。就在那一刻, 并且仅在本文期间,我获得了将我的想法投射到由这两种选择引起的时间线的未来的能力。有人低声说“Lisan Al Gaib” 但我忽略了它。 两条弧线平行地展现在我面前…… 开始:原型 我和 他们 关于要求。正如他们所承诺的那样,要求确实很简单。这确实不应该花很长时间。 时间轴:低代码 我四处点击,这个工具有我需要的一切,甚至还有一个几乎正是我需要的模板。我从模板开始,然后单击周围以进一步自定义它。几个小时后我就得到了他们需要的东西。再点击一下,它就上线了。太好了,午饭前我就完成了。 时间线:Ruby On Rails 我首先运行 脚手架生成器 几次即可获得所有必要的模型。然后我修改代码以使其使用 涡轮。 我结合生成的表单来获得我需要的基本功能。我还更新了生成的测试并确保它们是绿色的。我运行 认证生成器 并部署到我的服务器 卡迈勒 。这一天结束了,但我的网站仍然在工作和生活。 崛起行动:附加功能 接下来的几天里, 他们 要求一些附加功能。正如预期的那样,当他们开始使用我的快速原型时,他们意识到他们最初忘记了一些他们需要的附加功能。值得庆幸的是,这都是可预测的 CRUD 内容。 时间轴:低代码 低代码平台创建者预见到了这些功能,这些功能都包含在工具中。大多数功能要么只是配置更改,要么只需单击几下即可添加更多内置组件。 一个功能看起来应该很简单,但我不知道如何让它工作。我可以获得类似的东西,但不完全是我需要的。无论是文档、搜索还是人工智能都没有给出有用的答案。值得庆幸的是,社区论坛上的一位经验丰富的用户告诉我如何让它与自定义 lambda […]

Ruby on Rails — Rails 8.0:不需要 PaaS

部署现代 Web 应用程序(需要快速、安全且易于更新的所有规定)已经变得如此困难,以至于许多开发人员在没有 PaaS(平台即服务)的情况下不敢这样做。但这太荒谬了。没有人应该仅仅为了使部署友好和可用而为基本计算支付更多的费用。这是开源的工作,Rails 8 已准备好解决它。因此,经过成功的测试版和多个候选版本之后,我们现在非常高兴地准备好了 Rails 8.0 的最终版本! 以下是盒子中的所有主要新内容: 输入卡迈勒 2 + 推进器 Rails 8 预配置了 卡迈勒2号 用于在任何地方部署您的应用程序。无论是云虚拟机还是您自己的硬件。 Kamal 使用一个新的 Linux 机器,只需一个“kamal setup”命令即可将其转变为应用程序或附件服务器。它所需要的只是一组服务器的 IP 地址以及存储的 SSH 密钥,然后您将在两分钟内准备好投入生产。 Kamal 可以如此轻松地做到这一点,因为 Rails 已经配备了高效且经过调整的 Dockerfile 用于将您的应用程序转变为开箱即用的生产就绪容器映像。您只需携带自己的容器注册表帐户(例如 Docker Hub 或 GitHub)来存储映像。 在 Rails 8 中,此 Dockerfile 已升级为包含一个名为的新代理 推进器,它位于 Puma Web 服务器前面,提供 X-Sendfile 加速、资产缓存和资产压缩。这意味着无需在前面放置 Nginx 或任何其他 Web 服务器。默认的 Rails […]