与大多数其他框架一样, Rails也基于MVC模式。它的基本工作原理如下:
请求首先到达控制器, 控制器找到合适的视图并与模型进行交互, 而模型又与数据库进行交互并将响应发送给控制器。然后, 控制器根据响应将输出提供给视图。
模型
这些模型是Rails中的类。它们与数据库交互, 存储数据, 处理验证, 事务等。
该子系统在ActiveRecord库中实现。该库提供了数据库表和操作数据库记录的Ruby程序代码之间的接口。
Ruby方法名称是从数据库表字段名称自动生成的。
视图
视图代表应用程序中特定格式的数据。它在应用程序中处理HTML, CSS, JavaScript和XML。他们按照管理员的指示去做。
该子系统在ActionView库中实现。该库是基于嵌入式Ruby(Erb)的系统, 该系统定义用于数据表示的表示模板。
控制者
控制器将流量定向到视图和模型。它从数据库查询模型以获取数据, 并借助应用程序中的视图显示所需的结果。
该子系统在ActionController库中实现。该库是位于ActiveRecord和ActionView之间的数据代理。