Rails 强的从来不只是 CRUD。
#1. Active Job:后台运输车队
当前官方指南里,Active Job 的默认排队后端主线是 Solid Queue。
但在很多生产项目里,你也仍会见到 Sidekiq 等替代方案。
一个最小任务:
class PermitApprovedJob < ApplicationJob
queue_as :default
def perform(permit_id)
permit = Permit.find(permit_id)
PermitMailer.approved(permit).deliver_now
end
end入队:
PermitApprovedJob.perform_later(@permit.id)这代表:
别在受理窗口当场干慢活
把它派给后勤运输车队#2. Action Mailer:公函邮政室
class PermitMailer < ApplicationMailer
def approved(permit)
@permit = permit
mail to: "owner@example.com", subject: "施工许可已批准"
end
end#3. Active Storage:附件仓库
如果许可单要挂图纸、照片、合同附件,Rails 官方配套就是 Active Storage:
class Permit < ApplicationRecord
has_one_attached :blueprint
has_many_attached :photos
end这时 Rails 不只是“会存文件”。
它是把文件也纳入工务署体系:
- 模型可直接挂附件
- 表单可直接上传
- 云存储可直接配置
- 图片变体、预览、直传都有官方路线
#4. Action Text:富文本公文室
如果你的系统里有公告正文、说明文档、通知模板,Action Text 让富文本进入 Rails 正统体系。
所以你会发现,Rails 的完整感来自这里:
不是我自己东拼西凑十几个库
而是很多配套设施本来就在工务署体系里