全书目录

第二十八篇:Ruby on Rails 完全指南 —— 城市脚手架工务署宇宙

第十三章:Rails 的“魔法”到底是什么 —— 其实是命名、目录、自动加载和约定联动

1 分钟 232 字 第 506 / 962 个阅读单元

很多人说 Rails 有“魔法”。
这话一半对,一半不对。

Rails 的所谓魔法,本质上大多来自这些机制叠加:

  • 文件路径与常量名匹配
  • 路由约定
  • 视图默认查找规则
  • 资源式命名
  • 模型与表名的命名约定
  • 自动加载与重新加载
  • 大量默认行为已经约好

比如:

text
app/models/permit.rb
-> class Permit < ApplicationRecord
-> 默认映射 permits 表

再比如:

text
PermitsController#show
-> 默认找 app/views/permits/show.html.erb

所以 Rails 的“魔法感”来自:

你只写偏离标准的那部分,标准部分由工务署自动补齐。

这就是它能让人高效的原因。
也是它让不熟悉者感觉“怎么什么都自己好了”的原因。

一旦你理解了底层约定,它就不再神秘。