rails 练习2 --完成CRUD功能
来源:互联网 发布:手机号码搜索软件 编辑:程序博客网 时间:2024/06/06 18:06
目标
基本上,动态网站里的Database(数据库)都是做同样的事情。需要储存与提供纪录,大都依据以下四种行为:
C(Create,建立)新的纪录到Database
R(Read,读取)或是显示Database上的某笔纪录
U(Update,更新)目前已有的纪录
D(Destroy,删除)某笔纪录
因为这四种动作(简称CRUD)是如此的常见,Rails的Scaffold(鹰架)指令自动帮我们将这四个功能做出来了
步骤
步骤1
在终端机打这些字:
rails server
步骤2
打开浏览器前往http://localhost:3000/topics
应该会看到标题为“Listing topics”的页面,底下有title与description,还有一个new topic的连接(如下图):
步骤3
点击“New Topic”
在表单上写入一些东西,并按下“Create Topic”
应该会看到你新建的的topic与信息:“Topic was successfully created.”:
步骤4
- 点击“Back”
- 应该会回到标题为“Listing topics”的页面,这时底下title跟description会列出刚刚建的新数据:
Screenshot of topic list with new topic
- 试试看点击“Show”,“Edit”,与“Destroy”连接会发生什么事
- 恭喜你成功建出一个基本的动态网站!
解说
这些页面是如何跟数据库的CRUD做结合?Rails的Scaffold(鹰架)帮你做了一些事情。
让我们仔细看看这过程中Rails建了什么档案
- app/models/topic.rb
这个档案包含了我们的Model Topic。如果打开此档案,会发现几乎空空如也,跟Database做CRUD方面的沟通功能都内置在Rails里了(译注:可以看该档案的第一行,就是让它去继承Rails Model的基本功能)
- app/views/topics
这个View文件夹包括了所有topics的前端视觉档案。包括刚刚在建立数据时所用的表单。这些都由Rails的Scaffold(鹰架)自动建立出来的。
如果你写过HTML,有许多内容看起来会很熟悉。Rails Views其实就是在HTML里嵌入物件(来自于database的数据),来让页面可以在不同数据内容下动态显示
- app/views/topics/index.html.erb
此档案是列出全部topic数据的页面
Index是一个“预设”的网站页面名称,当你前往http://localhost:3000/topics时,实际上会呼叫到topics/index.html.erb这个档案并变成实际的页面
- app/views/topics/show.html.erb
当你在Index上点击“Show”连接时出现的页面
- app/views/topics/new.html.erb
当你点击“New Topic”连接时出现的页面
- app/views/topics/edit.html.erb
当你点击“Edit”连接时出现的页面
- app/views/topics/_form.html.erb
你也许会发现Edit跟New这二个页面看起来都很像,因为它们都有相同的form(表单)。来自于这个档案被称为“Partial”的档案。只要在文件名前面加上_(下底线),就会变成Partial,而它只会用于某页面的一部份,不会变成独立的页面
小小挑战:你可以找出是在new.html.erb跟edit.html.erb中,是哪一行呼叫了form这个Partial吗?
- app/controllers/topics_controller.rb
这个档案是由Rails的Scaffold(鹰架)自动建立出来的
你会看到里面有各种与View对应的method(def开头),但除了_form.html.erb
- rails 练习2 --完成CRUD功能
- Rails CRUD
- rails 使用devise完成注册、登录功能
- 使用命令行展开功能来完成练习
- 利用Filter完成的登录功能【练习】
- Hibernate完成CRUD
- Hibernate-简单完成crud
- JDBC完成CRUD
- JDBC&CRUD练习
- 请使用命令行展开功能来完成以下练习
- 通过mybatis框架完成后台CRUD,servlet完成前端CRUD
- dom4j 完成学生的CRUD
- dom4j 完成学生的CRUD
- 3.使用jdbc完成 crud
- ibatis实现CRUD功能
- MyBatis 的CRUD 功能
- rails 练习01
- MVC中使用EF(2):实现基本的CRUD功能
- Java生成和操作Excel文件(读、写)
- main:处理命令行选项 知识点总结
- 万年历的部分功能
- spark基于用户的协同过滤算法与坑点,提交job
- java基于反射的Map转Bean的工具类
- rails 练习2 --完成CRUD功能
- 35.JavaScript的对象的创建和继承
- RealVNC - No matching security types
- centos安装lnmp
- XSS 跨站脚本攻击
- cocos2dx[3.2](9) ——数学类Vec2/Size/Rect
- 自己编程实现简单的字符设备架构
- 玩转JDK
- zooekeeper集群安装部署