[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,Web)