惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
月光博客
月光博客
人人都是产品经理
人人都是产品经理
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
Vercel News
Vercel News
MyScale Blog
MyScale Blog
爱范儿
爱范儿
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
H
Help Net Security
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
博客园 - 聂微东
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
博客园 - 叶小钗
D
Docker

Ruby China

昨天旁边研究生在学数据库,看范式,我当年也学过,但是工作了以后,发现根本用不到 vs eclipse vim 哪里落后了 金山毒霸推出青春版是不是认为自己不行 【自荐】PriTime:一个可自托管的多端待办任务清单、时间管理应用 omarchy 竟然还有中文宣传 绿标 apollo 音乐逼系统重启 UI 做了一个 zero-noise 的“赛博禅师”:在信息过载时代做个极简 Web 实验 DHH 发布了 agentic linux,作为 Ruby China 老用户也开源发布了 agentic workspace 又拍云的公司好像出问题了 notification 页面出错 【远程】【区块链】后端工程师 MEME 交易方向,欢迎大家来聊 【举报】web3 全栈工程师为 带有病毒的钓鱼贴!各位不要上当! Server+ Training in Pune | Master Server Administration Skills 开发 APP 或小程序,大家后端使用的什么 admin 或 cms 或其它什么解决方案? Omarchy 4 aka Quattro 【杭州】招聘 Ruby on Rails 全栈开发,欢迎加入! 针对 Rails 的 AI 模型评测报告 [深圳] AI 智能硬件 + App 海外产品,招 Ruby on Rails 工程师 想不到浓眉大眼的 DHH 和 Jason Lee 也变心了 懂业务的人用 AI 写代码,反杀了程序员… 台灣小雨外送茶 line 外約瀨 fba988 或 jkf44 和 TG 喝茶@fb15800 現金消費不喜可退換 Gleezy 群組搜 fb158 保證安全健康#高中生#在校生大學生#模特空姐 台灣小雨外送茶 line 外約瀨 fba988 或 jkf44 和 TG 喝茶@fb15800 現金消費不喜可退換 Gleezy 群組搜 fb158 保證安全健康#高中生#在校生大學生#模特空姐 台灣小雨外送茶 line 外約瀨 fba988 或 jkf44 和 TG 喝茶@fb15800 現金消費不喜可退換 Gleezy 群組搜 fb158 保證安全健康#高中生#在校生大學生#模特空姐 pearls 个人开发者做的两个 Chrome 小扩展(基金估值 / 金价),欢迎试用 问一下各位 codex 怎么突破子代理上限哇 jupyter notebook 支持 ruby 怎么不见有人用呢 ruby 有没有 pylance 级别的 lsp? 消失 14 年后回 Ruby China 报到 使用 Ruby 实现一门编程语言 | Tao 语言
讓 ActiveRecord model 只能在特定 service class 裏被更新
mizuhashi · 2026-05-22 · via Ruby China
class Post < ApplicationRecord
  include ActiveRecordReadOnly
end

# Anywhere else in the codebase — blocked
Post.find(1).update!(title: "x")
# => ActiveRecord::ReadOnlyRecord

# In a service class — allowed
class PostService
  include Post::Writable

  def self.publish(post)
    post.update!(published: true)   # works
  end
end

實驗後發現這是可行的,可以通過在 model 的readonly?方法裏檢查caller_locations來判斷能否處在一個已經include Post::Writable的環境,不過也有不少限制。

https://github.com/onyxblade/active_record_read_only

Just for fun