您的位置:首页 > 编程语言 > Ruby

[Ruby]Rails的MVC部分理解

2016-07-25 17:11 525 查看

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的?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rails ruby