[Ruby]Rails的MVC部分理解

Posted z354681250

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Ruby]Rails的MVC部分理解相关的知识,希望对你有一定的参考价值。

1. controller对数据库的间接操作

在大多数情况下,controller对数据库的操作,都是以model的形式写代码的,如下例子:

给id为params[:id]的kindergarten创建一个新的bill

@bill = Kindergarten.find_by(id: params[:id]).bills.build(bill_params)

这里,我们首先看到的是大写的Kindergarten,这个是model的类名;接下来,为什么又变成了小写的bills了呢?是数据库名字么?不是的,我们回头看一下Kindergarten类的定义:

has_many :bills, dependent: :destroy

这下子就明了了,那个bill是来源于这个has_many所产生的方法。
因此,可推测MVC中controller对数据库的操作全是基于model的?

以上是关于[Ruby]Rails的MVC部分理解的主要内容,如果未能解决你的问题,请参考以下文章

OOP 如何转化为 Rails?

ruby on rails 总结

Choosing web framework: ASP.NET MVC vs Django Python vs Ruby on Rails(转载)

Ruby on Rails入门篇

Ruby On Rails 部分渲染

在 Ruby on Rails 3.2+ 中流式传输部分视图