<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Code With Rails (zh)</title><description>Ruby on Rails全栈Web开发实用教程。</description><link>https://codewithrails.com/</link><language>zh</language><item><title>用 f.datalist 在 Rails 表单中实现原生自动补全（无需 JavaScript）</title><link>https://codewithrails.com/zh/blog/rails-native-autocomplete-datalist/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-native-autocomplete-datalist/</guid><description>Rails 8.2 为 FormBuilder 新增了 f.datalist，让你无需 JavaScript、也无需手动维护派生 ID，就能把文本输入框接到一个原生 HTML 自动补全列表上。</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>为什么你的 Rails fixture 访问器会（而且只是偶尔）返回数组</title><link>https://codewithrails.com/zh/blog/rails-fixture-accessor-returns-array/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-fixture-accessor-returns-array/</guid><description>Rails 测试中的 fixture 访问器返回空 Array 而不是记录，在本地和 CI 之间表现不稳定。原因是基于 method_missing 的 fixture 与 turbo-rails 混入的方法发生冲突。这里给出诊断过程和四种修复方法。</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>用 Rails 8.1 的 Rails.event 和 Continuations 实时展示后台任务进度</title><link>https://codewithrails.com/zh/blog/rails-live-job-progress/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-live-job-progress/</guid><description>用 Rails 8.1 的结构化事件报告器和 Active Job Continuations，向用户实时展示长时间运行后台任务的进度，无需轮询，也无需为每个任务单独接线 broadcast。</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate></item><item><title>用 Rails 8.2 的动态 rate_limit 实现分级 API 速率限制</title><link>https://codewithrails.com/zh/blog/rails-tiered-api-rate-limits/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-tiered-api-rate-limits/</guid><description>用 Rails 8.2 的动态 rate_limit 选项构建按套餐（free、pro、enterprise）划分的 API 速率限制，无需 Rack::Attack 或自定义 middleware。</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>使用 ActiveJob::Continuable 构建可恢复的 CSV 导入</title><link>https://codewithrails.com/zh/blog/rails-resumable-csv-import-continuable/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-resumable-csv-import-continuable/</guid><description>利用 Rails 8.1 全新的任务续接功能构建一个能在 worker 重启后存活的 CSV 导入,从中断的那一行精确恢复。</description><pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Rails 8.2 预览：用 has_json 实现类型安全的 JSON 属性</title><link>https://codewithrails.com/zh/blog/rails-has-json-type-safe-attributes/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-has-json-type-safe-attributes/</guid><description>别再手动把表单参数转换成 JSON 类型了。Rails 8.2 的 has_json 会在强制 schema 的同时，自动把字符串转换为 boolean、integer 和 string。</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>使用 Rails 通知监控生产环境中的 CSRF 攻击</title><link>https://codewithrails.com/zh/blog/rails-csrf-notifications/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-csrf-notifications/</guid><description>Rails 即将添加 CSRF 事件的 ActiveSupport 通知，让您可以了解攻击尝试和验证失败的情况。</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate></item><item><title>在 Rails 中使用基于错误的延迟构建智能重试策略</title><link>https://codewithrails.com/zh/blog/rails-smart-retry-strategies/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-smart-retry-strategies/</guid><description>使用 retry_on 的新 error 参数来构建智能重试策略，尊重速率限制，处理瞬态故障，并在不可恢复的错误上快速失败。</description><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate></item><item><title>使用ActiveStorage构建文件去重系统</title><link>https://codewithrails.com/zh/blog/activestorage-deduplication/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/activestorage-deduplication/</guid><description>停止存储重复文件。学习如何检测相同的上传并重用现有blob，以节省存储成本并加速上传。</description><pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate></item><item><title>用 Rails.app.creds 构建 50 行代码的功能开关系统</title><link>https://codewithrails.com/zh/blog/rails-feature-flags-credentials/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-feature-flags-credentials/</guid><description>跳过 SaaS 订阅。Rails 8.2 的凭证系统是功能开关所需的一切 - 版本控制、环境可覆盖、免费。</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>使用 Rails.app.creds 实现多租户配置</title><link>https://codewithrails.com/zh/blog/rails-multitenant-configuration/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-multitenant-configuration/</guid><description>使用 Rails 8.2 的 CombinedConfiguration 构建按租户配置系统。让租户无需修改代码即可覆盖 API 密钥、功能开关和限制。</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Rails.app.creds 的 5 种意想不到的用法</title><link>https://codewithrails.com/zh/blog/rails-creds-unexpected-uses/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-creds-unexpected-uses/</guid><description>Rails 8.2 的新凭证 API 不仅仅是用来管理密钥——它是一个可组合的配置系统。这里有 5 种你可能没有考虑过的模式。</description><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate></item><item><title>无需JavaScript的实时倒计时：Turbo Streams + relative_time_in_words</title><link>https://codewithrails.com/zh/blog/rails-live-countdowns-turbo/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-live-countdowns-turbo/</guid><description>使用Rails 8的新relative_time_in_words助手和Turbo Streams构建实时更新的服务端渲染倒计时器。</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Rails 7.2连接池变更可能会拖慢你的应用</title><link>https://codewithrails.com/zh/blog/rails-72-connection-pool-performance/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-72-connection-pool-performance/</guid><description>Rails 7.2改变了数据库连接的管理方式，导致某些应用出现5-6%的性能下降。这里解释原因和解决方法。</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate></item><item><title>使用Rails.app.revision追踪部署</title><link>https://codewithrails.com/zh/blog/rails-app-revision/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-app-revision/</guid><description>Rails 8.2添加了Rails.app.revision用于部署追踪、错误报告和缓存失效。</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>使用Request#bearer_token提取Bearer令牌</title><link>https://codewithrails.com/zh/blog/rails-bearer-token/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-bearer-token/</guid><description>Rails添加了一个便捷方法，用于从API请求的Authorization头中提取bearer令牌。</description><pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Rails 8.2修复了一个你可能不知道存在的ActiveJob微妙bug</title><link>https://codewithrails.com/zh/blog/rails-enqueue-after-transaction-commit/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-enqueue-after-transaction-commit/</guid><description>作业现在默认在事务提交后入队，防止作业针对未提交或回滚的记录运行。</description><pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate></item><item><title>解决：accepts_nested_attributes_for破坏了带作用域的唯一性验证</title><link>https://codewithrails.com/zh/blog/rails-nested-attributes-uniqueness-validation/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-nested-attributes-uniqueness-validation/</guid><description>一个常见的Rails陷阱，使用嵌套属性时带作用域的唯一性验证会失败，以及如何解决它。</description><pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate></item><item><title>如何使用Stimulus和localStorage保存最近浏览的页面列表</title><link>https://codewithrails.com/zh/blog/stimulus-localstorage-recently-viewed/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/stimulus-localstorage-recently-viewed/</guid><description>创建最近浏览的页面列表可以通过提供简单的导航和最近访问内容的历史记录来显著增强用户体验。</description><pubDate>Wed, 28 Aug 2024 00:00:00 GMT</pubDate></item><item><title>如何从现有代码创建Ruby on Rails gem</title><link>https://codewithrails.com/zh/blog/create-rails-gem/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/create-rails-gem/</guid><description>一个关于如何从Rails应用中提取代码、打包成gem并发布到RubyGems.org的分步教程</description><pubDate>Wed, 11 Jan 2023 00:00:00 GMT</pubDate></item><item><title>如何修复Rails 6.x和7.x中的undefined method address_list</title><link>https://codewithrails.com/zh/blog/undefined-address-list-error/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/undefined-address-list-error/</guid><description>更新mail gem会破坏Mail#address_list - 这是修复方法。</description><pubDate>Tue, 27 Dec 2022 00:00:00 GMT</pubDate></item><item><title>如何在Rails的Active Storage中使用FilePond</title><link>https://codewithrails.com/zh/blog/filepond-active-storage/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/filepond-active-storage/</guid><description>学习如何将第三方JavaScript上传库与ActiveStorage集成，实现流畅的文件上传体验。</description><pubDate>Mon, 26 Dec 2022 00:00:00 GMT</pubDate></item><item><title>Ruby 3.2引入Enumerator::product</title><link>https://codewithrails.com/zh/blog/ruby-enumerator-product/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/ruby-enumerator-product/</guid><description>学习如何在Ruby 3.2中使用Enumerator::product方法生成笛卡尔积。</description><pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate></item><item><title>如何在Rails和Turbo中使用Alpine.js</title><link>https://codewithrails.com/zh/blog/alpinejs-rails-turbo/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/alpinejs-rails-turbo/</guid><description>对于不需要Stimulus.js只使用Turbo的应用程序，Alpine.js框架提供了恰到好处的JavaScript来让你的应用闪闪发光。</description><pubDate>Tue, 13 Dec 2022 00:00:00 GMT</pubDate></item><item><title>在Rails中处理用户认证的更好方法</title><link>https://codewithrails.com/zh/blog/rails-authentication/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-authentication/</guid><description>学习如何使用Authentication Zero而不是Devise在Rails中快速构建健壮的认证系统。</description><pubDate>Mon, 28 Nov 2022 00:00:00 GMT</pubDate></item><item><title>如何清理旧的Rails迁移文件</title><link>https://codewithrails.com/zh/blog/clean-up-db-migrations/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/clean-up-db-migrations/</guid><description>通过将旧迁移合并到schema中来保持Rails迁移文件夹的整洁。</description><pubDate>Sat, 19 Nov 2022 00:00:00 GMT</pubDate></item><item><title>如何使用Docker设置Rails开发环境</title><link>https://codewithrails.com/zh/blog/rails-docker/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/rails-docker/</guid><description>一步步指导如何将Rails开发环境容器化，以实现团队间的一致设置。</description><pubDate>Fri, 18 Nov 2022 00:00:00 GMT</pubDate></item><item><title>修复不存在唯一约束违规时的PG::UniqueViolation错误</title><link>https://codewithrails.com/zh/blog/fixing-pg-unique-violation/</link><guid isPermaLink="true">https://codewithrails.com/zh/blog/fixing-pg-unique-violation/</guid><description>如何修复导致Rails中出现虚假唯一约束违规的PostgreSQL序列问题。</description><pubDate>Sat, 09 May 2020 00:00:00 GMT</pubDate></item></channel></rss>