ruby on rails(ROR)从入门到放弃:二(初探MVC)

进入上节创建的工程下,app目录,其中:

controllers目录代表web开发模式中mvc的c

models目录代表m

views目录代表v

普通的项目我们做一个业务的CRUD的时候都是需要自定义每个文件的编写。


使用脚手架去创建业务:

在ROR框架下,一条命令就可以将所有事情做完,比如我们做一个书籍book的增删改查。

使用rails g scaffold book name:string price:integer author:string命令即可定义model、controller、views等文件。该命令我理解为某业务的脚手架。

执行脚手架命令之后,你会发现工程的app目录的controllers、models与views有关book的文件都已经创建完成。

接下来我们执行rake db:migrate

然后启动服务 rails s

使用浏览器访问http://127.0.0.1:3000/books    你会发现我们已经访问到了book的列表页,只是该列表目前没有数据。我们可以点击New Book链接,进行创建book。然后再返回列表页,当然也可以进行修改某一条book。


接下来我们看一下这几个页面是为何能被访问到的。

当我们访问http://127.0.0.1:3000/books的时候,首先找到rails,因为rails启动后的默认端口是3000,当然我们也可以指定其他的端口,比如rails s -p 3001, 那么我们便可以http://127.0.0.1:3001/books进行访问。

找到rails后,我们工程下有一个config目录,其中有一个routes.rb文件,该文件会控制所有路由。打开文件可以发现其中有一条代码为:resources :books  其作用是告诉book这块业务功能所有的页面的路由规则。即定义了默认的book列表页、新增页、修改页、删除页等。我们可以通过下面的表格看到book模块的所有路由规则。

GET/books Books indexdisplay a list of all photos
GET/books/newBooks newreturn anHTMLform for creating a new photo
POST/booksBooks createcreate a new photo
GET/books/1Books showdisplay a specific photo
GET/books/1/editBooks editreturn anHTMLform for editing a photo
PUT/books/1Books updateupdate a specific photo
DELETE/books/1Books destroydelete a specific photo

 

通过表格第一行我们可以看到,我们上面访问的http://127.0.0.1:3001/books这个地址则会通过routes.rb中的路由规则被路由进入到app/controllers/books_controller.rb中的index方法。可以看到index方法通过Book.all将所有的book放到了成员变量@books中,controller使用models处理完毕之后便会进入到apps/views/index.html.erb中,页面中遍历controller已经处理之后的@books成员变量然后使用table展示出来。整个访问过程大致如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值