Ruby on Rails核心基础
文章平均质量分 80
从零基础搭建开发环境开始,制作一个简单的CMS系统。从中学习Ruby on Rails开发过程中各个环节的必备知识和概念,为独立开发应用系统提供技术保障。其中穿插作者的经验总结,为开发助力!
边晓宇
这个作者很懒,什么都没留下…
展开
-
Ruby on Rails,一对多关联(One-to-Many)
在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关联关系。接下来是更常见的情况,一对多关联。比如老师与所教课程的关系,一个老师负责多个课程。换成对象之间的关系就是:一个老师has may课程,课程belongs to老师。原创 2012-12-09 13:34:02 · 11619 阅读 · 0 评论 -
Ruby on Rails,一对一关联(One-to-One)
在上一篇文章中,我们列举了对象之间可能出现的关联关系。接下来,逐个分析一下每一种关系如何在Ruby on Rails中实现和使用。场景1:一对一关联一般用于一个东西A有且只有一个B,比如 雇员 has_one:电脑 教室 has_one:老师他们的特点是,对象之间存在唯一的拥有关系。如果一个雇员也可以有多台电脑,不过这就不是今天的话题了,那是一对多关系(On原创 2012-12-08 11:22:36 · 7269 阅读 · 0 评论 -
Ruby on Rails,一次讲透对象之间的关联关系,永远忘不了
在之前的多篇文章中,我们学会了针对单个模型的数据库单表增删改查操作。很显然这种简单的逻辑是满足不了实际需要的。通常情况下,我们需要建立多个相互关联的对象,使用相互关联的表进行数据存储。对于一个CMS系统来说,一篇文章可能有多个标签。想要显示文章的标签,最原始的作法是:根据文章的id查询查询数据库得到文章对象后,根据其中存储的标签id列表,再进行一次数据库查询得到这篇文章拥有的所有标签对象。这种原创 2012-12-02 15:52:38 · 7775 阅读 · 2 评论 -
Ruby on Rails,链式调用order,limit,offset方法对条件查询结果进行整理
http://blog.csdn.net/abbuggy/article/details/8094043在《Ruby on Rails,使用where方法对持久化对象进行条件查询》我们学习到可以通过where方法进行条件查询操作返回对象列表。还有三个方法可以对返回的列表进行操作以便得到我们想要的结果集。order方法对结果进行排序,比如将返回的对象按照名称升序排列、按照创建时间降序原创 2012-11-07 00:07:28 · 6924 阅读 · 0 评论 -
Ruby on Rails,使用where方法对持久化对象进行条件查询
http://blog.csdn.net/abbuggy/article/details/8094043在《Ruby on Rails,使用find方法加载持久化对象》一文中,我们使用find系列方法进行对象查询。在新版本的Rails中,都推荐使用where而不是find方法进行条件查询了。语法上和find条件查询差不多,应该说更简洁一点,比如我想找到position是2的对象。原创 2012-10-21 00:40:10 · 12705 阅读 · 1 评论 -
Ruby on Rails,使用find方法加载持久化对象
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/8092928前文《Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别》,《Ruby on Rails,使用save和update_attributes更新持久化的ActiveRecord对象》,《Ruby on Rails,使用原创 2012-10-20 18:37:24 · 5379 阅读 · 0 评论 -
Ruby on Rails,使用destroy方法删除ActiveRecord对象
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/8091639在之前的《Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别》中学习到,通过new和create命令创建及持久化ActiveRecord对象;《Ruby on Rails,使用save和update_attributes原创 2012-10-19 23:42:30 · 8042 阅读 · 0 评论 -
Ruby on Rails,使用save和update_attributes更新持久化的ActiveRecord对象
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7948568上文《Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别》中我们使用rails console访问模型创建对象并将其保存到数据库中。现在我们学习如何更新已经持久化的对象并将修改更新到数据库。与保存对象类似,更新对象也原创 2012-09-05 22:52:59 · 12056 阅读 · 0 评论 -
Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7944401在前文《Ruby on Rails,使用Rails Console进行ActiveRecord调试》中,我们能够在rails console中访问模型并进行对象创建和入库操作。现在我们来看一看创建和入库操作的一些细节。在rails中,new/save操作和creat原创 2012-09-05 01:31:11 · 8133 阅读 · 0 评论 -
Ruby on Rails,使用Rails Console进行ActiveRecord调试
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7940156在前文《Ruby on Rails,创建模型,附赠模型与表名不一致时的解决方法》中我们通过rails generate model Subject 方法创建了Subject类。继承自ActiveRecord的Subject自然就拥有自动的增删改查能力,我们接下来要基于这个模原创 2012-09-04 00:36:51 · 6074 阅读 · 0 评论 -
Ruby on Rails,创建模型,附赠模型与表名不一致时的解决方法
在前文《Ruby on Rails,创建和执行migrations迁移文件》中我们提到过创建模型的事情,我们创建模型的同时生成迁移文件。那时候我们关注的是迁移文件,现在我们把目光投向模型这边。创建模型的命令是rails generate model ModelNameInCamelCase其中最后一个参数是模型的名字,用每个单词首字母大写的格式,比如说rails generat原创 2012-09-01 23:44:12 · 5072 阅读 · 1 评论 -
Ruby on Rails,ActiveRecord和ActiveRelation
MVC架构中的Model层负责接受Controller收集的请求参数信息,一般来说去干两件事情。将Controller从View收集到的页面数据按照业务需求转化为实体对象之间的关系保存到关系数据库中。以Controller传递过来的参数作为条件,根据应用业务逻辑从关系数据库中获取数据转换为实体对象,计算它们之间的关系,将计算结果反送给Controller转交给View显示。对于在面原创 2012-07-22 17:25:13 · 2642 阅读 · 2 评论 -
Ruby on Rails,数据库迁移任务出错后的解决办法
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7724659在《Ruby on Rails,数据库迁移命令和迁移任务编写》中创建的迁移任务中包含若干条命令。其中无论哪一条在书写或逻辑上存在错误,都会阻断迁移工作继续进行。比如说,迁移任务第一步先将users表的名称改成了admin_users,然后添加了username,em原创 2012-07-08 23:47:35 · 3347 阅读 · 0 评论 -
Ruby on Rails,数据库迁移命令和迁移任务编写
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7723501在《Ruby on Rails,rake工具使用和数据库migrations迁移的概念》和《Ruby on Rails,创建和执行migrations迁移文件》中对Rails中数据库迁移的概念和迁移任务的执行做了了解。其中的迁移任务仅仅停留在创建和删除表之类最简单的操作,实原创 2012-07-06 23:31:23 · 9583 阅读 · 1 评论 -
Ruby on Rails,创建和执行migrations迁移文件
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7654481在《Ruby on Rails,rake工具使用和数据库migrations迁移的概念》中,我们知道Rails中进行数据库迁移操作的基本概念和重要性。现在着手进行一个简单的数据库迁移实践吧。所有的数据库迁移文件存放在simple_cms/db/migrati原创 2012-06-14 23:40:49 · 12100 阅读 · 0 评论 -
Ruby on Rails,rake工具使用和数据库migrations迁移的概念
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/7648920《Ruby on Rails,一个简单的CMS系统,创建应用骨架并与数据库连接》中创建的简单CMS系统的骨架已经搭建完成并且为和数据库交互做了正确配置。我们将当前的数据库结构通过rake命令导出,现在数据库里没有任何表,没关系要的就是这个状态。E:\greensof原创 2012-06-09 22:41:07 · 6955 阅读 · 1 评论 -
Ruby on Rails,一个简单的CMS系统,创建应用骨架并与数据库连接
http://blog.csdn.net/abbuggy/article/details/7648787我想从头开始做一个简单的CMS系统,继续下面的学习。与之前在《Ruby on Rails,创建一个最简单的站点》建立的simple_site方法一样。在我的site目录中,执行命令创建新的应用simple_cms,想使用在《Ruby on Rails,创建开发用的MYSQL数据库》创原创 2012-06-09 21:46:10 · 6541 阅读 · 0 评论 -
Ruby on Rails,创建开发用的MYSQL数据库
http://blog.csdn.net/abbuggy/article/details/7647110在《Ruby on Rails,使用关系数据库简介》中我们简要浏览了一下关系数据库的最基本概念,这里我们动手创建一个Rails项目可以使用的数据库。Rails可以与DB2、MySQL、Oracle、Postgres、Firebird以及 SQL Server数据库一起工作。新版Rails已经原创 2012-06-09 01:28:22 · 8531 阅读 · 1 评论 -
Ruby on Rails,使用关系数据库简介
http://blog.csdn.net/abbuggy/article/details/7643673之前我们已经成功将web应用请求响应的主流程:从浏览器到控制器-从控制器到视图-从视图到浏览器走通。接下来是时候看看控制器与模型-模型与数据库交互的这个分支上了。理论上说,MVC架构中本来是没有数据库这个元素的,只不过在世纪项目中模型与数据库总是一起出现的,并且他们之间还有较为紧原创 2012-06-08 00:13:14 · 4751 阅读 · 0 评论 -
Ruby on Rails,通过页面链接向Controller中传递参数,附赠调试技巧
http://blog.csdn.net/abbuggy/article/details/7636462《Ruby on Rails,通过建立页面导航链接实现页面跳转》中,我们了解到如何通过link_to(text,target)方法在Templates中定义连接。其中参数target以填入了两个最终要的参数,Controller和Action。如果有一个分页显示的列表,我们希望希望查看其原创 2012-06-06 00:08:33 · 15700 阅读 · 0 评论 -
Ruby on Rails,通过建立页面导航链接实现页面跳转
http://blog.csdn.net/abbuggy/article/details/7628834到现在为止,我们已经将web请求响应的全过程:web服务器接受浏览器请求。尝试从public目录查询与请求一致的资源文件返回。《Ruby on Rails,服务端如何响应页面提交的请求》如果没能找到资源,将请求转交给Routes通过其配置规则找到合适的Controller和A原创 2012-06-03 22:40:31 · 8230 阅读 · 0 评论 -
Ruby on Rails,通过实例变量从Controller向View传递数据
http://blog.csdn.net/abbuggy/article/details/7627460Controller是MVC框架的核心,从名字就可以看出Controller存在的意义就是要“控制”,这里的“控制”有两个含义。第一是要控制页面的流转也就是决定调用哪个合适的View来展示数据,在《Ruby on Rails,在Controller中指定渲染的Templates》和《原创 2012-06-03 16:36:29 · 11714 阅读 · 1 评论 -
Ruby on Rails,利用View Templates生成动态页面
http://blog.csdn.net/abbuggy/article/details/7627133《Ruby on Rails,在Controller中指定页面重定向》和《Ruby on Rails,在Controller中指定渲染的Templates》介绍了利用Controller指向绘制页面或者重定向请求的特性。我们来看看Templates是如何工作来充当View的角色的原创 2012-06-03 01:51:36 · 8856 阅读 · 0 评论 -
Ruby on Rails,在Controller中指定页面重定向
http://blog.csdn.net/abbuggy/article/details/7626606在《Ruby on Rails,在Controller中指定渲染的Templates》提到Controller可以在接受到外部请求后和Model交互,经过计算之后得到需要返回的结果,之后渲染一个View。但其实除了渲染页面以外,Controller还可以将请求重定向到其他的页面。换句话说原创 2012-06-02 22:42:25 · 10470 阅读 · 0 评论 -
Ruby on Rails,在Controller中指定渲染的Templates
http://blog.csdn.net/abbuggy/article/details/7555423在《Ruby on Rails,Routes配置routes.rb及请求解析规则》中我们了解了如何配置Routes来确定那个Controller和Action被调用,之后的工作就完全由Controller接管了。很自然Controller的工作就是“控制”,在这里经常会出现很原创 2012-05-17 23:07:17 · 5582 阅读 · 0 评论 -
Ruby on Rails,Routes配置routes.rb及请求解析规则
http://blog.csdn.net/abbuggy/article/details/7516224在《Ruby on Rails,服务端如何响应页面提交的请求》中我们知道,页面提交给web服务器的请求先是尝试直接查找并返回public目录中的资源,如果没有找到则将请求交给Rails的Routes。Routes根据路由配置,将请求转化为对Controller中的Action并调用之。R原创 2012-04-27 00:12:07 · 20414 阅读 · 2 评论 -
Ruby on Rails,服务端如何响应页面提交的请求
http://blog.csdn.net/abbuggy/article/details/7495966在《Ruby on Rails,目录结构一瞥》中我们提及过public目录和app目录的作用是不同的。有必要通过例子更加清楚的知道他们之间的差别,顺便了解一下在Rails中web服务器是如何响应页面提交过来的请求的。图中展示了Rails框架在web应用中所处的位置,其中名为pub原创 2012-04-25 23:03:32 · 8344 阅读 · 1 评论 -
Ruby on Rails,目录结构一瞥
http://blog.csdn.net/abbuggy/article/details/7413611在Ruby on Rails,创建最简单的视图/控制器单元Hello World中,使用rails generate controller创建了一套简单的Controller-View结构。相应的代码分别被十分乖巧的创建到项目的各个目录中。再继续向下学习之前,有必要对Rails的目录原创 2012-03-31 00:32:50 · 8128 阅读 · 0 评论 -
Ruby on Rails,创建最简单的视图/控制器单元Hello World
http://blog.csdn.net/abbuggy/article/details/7409445在Ruby on Rails,创建一个最简单的站点中我们通过rails new simple_site命令创建了一个web应用骨架。笔墨纸砚都准备好了,该是时候写出第一个Hello World啦~!Rails明确的按照MVC结构组织内容,回想一下MVC结构的简单知识。Browse原创 2012-03-30 01:04:34 · 10669 阅读 · 3 评论 -
Ruby on Rails,创建一个最简单的站点。
http://blog.csdn.net/abbuggy/article/details/7404975开发环境搭建完毕,我们来运行Ruby on Rails并创建一个最简单的应用。和任何一个web应用类似,你需要找到一块地方来安放你的站点,对于开发来说某一个本地目录就是不错的选择。不过请注意不要将站点目录放在硬盘的根目录或者“Program Files”目录,因为windows对这些原创 2012-03-29 22:14:39 · 23896 阅读 · 0 评论 -
Ruby on Rails,“无法启动此程序,因为计算机中丢失LIBMYSQL.dll”问题解决
http://blog.csdn.net/abbuggy/article/details/7405192我的电脑使用Ruby on Rails与MySQL连接时,会提示“无法启动此程序,因为计算机中丢失LIBMYSQL.dll。尝试重新安装程序以解决此问题”(This application has failed to start because LIBMYSQL.DLL was not原创 2012-03-29 00:46:11 · 18146 阅读 · 4 评论 -
Ruby on Rails,环境安装和Gems
http://blog.csdn.net/abbuggy/article/details/7400848如果你的电脑上没有安装Ruby,还等什么,我们去官方网站下载安装程序吧。对于运行Rails3.0,最低需要Ruby1.8.7,现在最新的稳定版应该是1.9.3。在Ruby的官方网站http://www.ruby-lang.org/有为不同操作系统安装Ruby使用的程序连接。如果使用的是w原创 2012-03-27 23:53:51 · 7508 阅读 · 0 评论 -
Ruby on Rails,从这里开始
http://blog.csdn.net/abbuggy/article/details/7396780在工作中你可能并不一定有机会试用Ruby on Rails,但学习并感受一下这个当下最为流行的语言和web编程框架还是值得的。 首先,看看什么是Ruby on Rails? Ruby on Rails是由两部分组成的,Ruby和Rails(这不是废话么)。Ruby是19原创 2012-03-26 22:32:52 · 3579 阅读 · 2 评论