Tag Archive for 'ruby on rails'

Riding Rails: Rails 2.0: Preview Release

Rails 2.0的介绍。

Behold, behold, Rails 2.0 is almost here. But before we can slap on the final stamp, we’re going to pass through a couple of trial release phases. The first is this preview release, which allows you to sample the goodies in their almost finished state.

We might change a few things or add something else, but by and large, this is how Rails 2.0 is going to look and feel. After this release have had a chance to be tried out, we’re going to move to a release candidate or two (or three, depending on how many we need). Then, the final release.

Before the release of 2.0, we’re also going to be putting out 1.2.4, which will include a variety of bug fixes and the last deprecation warnings to get you ready for upgrading an existing application to 2.0 standards.

Enough about process. Let me tell you a little bit about what’s new in Rails 2.0:
—-

以上为节选,更多内容可以查看原文看这里报道:Riding Rails: Rails 2.0: Preview Release

相关内容

ruby编程资源网站共享

ruby和ruby on rails在国内还不是非常流行,不过在国外还是有不少人专注于这个的。这里列出了20多个ruby相关的资源网站那,不止是ruby on rails哦。

相关内容

Ruby on Rails 学习笔记之四:为理财软件增加字段和增加输入校验

按照敏捷web开发书中的建议,是建立一个sql文件,然后调用mysql来生成,我就不那么麻烦的操作了,直接在mysql里面修改了数据库,然后生成一个sql文件,文件还是位于的db路径下。

我给money这个主要的table增加一些实用的字段。

对于ror,我现在还是不熟悉的,所以我选择的应用是我熟悉的,对于一个理财软件需要一些什么基本的功能比较清楚,所以难题就只剩下ruby和rails。

我为收支记录增加了日期和说明两个字段,然后我们需要的重新生成代码。

ruby script/generate scaffold Money Admin

在重新生成代码的时候,前面对于呈现所做的修改都会被覆盖,因为增加了字段。你可以选择不覆盖,而自己来修改app\views\admin中的页面。毕竟数据库中的字段并不是都需要显示的。

重新运行ruby,会发现界面已经修改了。接下来继续学习字段校验。

add new fields to Money

字段校验属于业务逻辑,按照定义,在MVC的Model层,要修改的代码自然就是在 app/model/下面。

class Money < ActiveRecord::Base
validates_presence_of :kind, :money
validates_numericality_of :money
end

第一行表示列出的字段一定要输入内容,第二行表示列出的字段要输入数字。
除了这些校验函数以外,还有检查是否唯一输入,是否符合指定格式,以及用私有方法来实现自己的校验规则。书上有,我暂时用不到。

当内容没有输入或者输入错误的时候,就会有错误信息提示了。

add validate to Money

暂时还不知道如何定制这些出错信息,这也应该属于viewer中的内容吧。

相关内容

薪火传承

最近得闲就研究一些web开发的技术,包括ruby on rails和delphi for php,当然ajax都是他们自己所支持的。

随着互联网的普及和类似于blog这样的平台,我们可以很容易的获得知识和分享知识,让薪火传承。

所以开始了的ror学习笔记会继续,而delphi for php也会开始,我相信codegear所研发的框架的能力。

我们都得到过别人的帮助和提携,也应该做一些事情帮助别人。

相关内容

写 Ruby on Rails 应用程序的基本步骤

自顶向下和自下至上都是软件开发中需要的基本概念,一边学习基本的ror概念,一边也需要了解ror的宏观。

看这里报道:写ROR应用程序的基本步骤 - 会飞的小猪之Ruby窝 - Ruby Community - Ruby中文社区门户 - powered by X-Space:

记录一下写ROR应用程序的基本步骤,以便巩固学习的内容。

1.建模(model) - 根据实体间的关系

ruby script/generate model model文件名

在app/model下,写出model文件。在每个model文件中写出对实体间的关系(has/belongs to)的描述。

2.按Rails的规则,建立数据库和相应的Table。

3.在各自的controller文件中,定义各自的action(如,welcome action,show action等)

ruby script/generate controller controller文件名 action名

如,ruby script/generate controller main welcome

ruby script/generate controller work show

4.对每对controller/action设计一个view模板文件(tamplate file)

一个view是,一个通过可理解的个变量与controller分享数据的ERb程序。

controller actions与view模板文件通过命名规则链接起来:对于main/welcome action一个进来的请求,通过提交views区域中的main/welcome.rhtml文件,触发main controller中的welcome方法(method)的执行。

在基本情况中,controller准备数据,并把它们存放在各变量中,然后这些变量被用于ERb程序与action对应。

1)设计一个缺省的layout

2)设计main/welcome的view

3)定义show views

对三个实体WORK,EDITION和COMPOSER定义各自的show。

这三个实体的show有点不同,由不同的属性构成。

1)Show a work(作品),意味着理出那个作品的所有可用的版本(editions);

2)Show an edition(版本),意味着显示它的出版商,出版日期及价格;

3)Show a composer(作者),意味着列出该作者的所有作品。

每个Show都需要一个view文件,因为我们有:

1)app/views/work/show.rhtml;

2)app/views/edition/show.rhtml;

3)app/views/composershow.rhtml;

至此,ROR应用程序已经有了:

Database;

model file;

views tamplate files;

controller files;

5.用route指定一个缺省的top-level页

需要定义一个route:一个把进来的请求的URL应用于一个Rails程序的转化规则。

Route在文件config/route.rb中定义。加入map.connect在该文件的第一个位置。

然后删除default的缺省页,即public/index.html,以致于它将不与main/welcome action的top-level页发生冲突。
—-

以上为节选,详细内容点击链接到原文出查看。

相关内容

什么是Ruby on Rails, (ROR) ?

这是篇关于Ruby on Rails的相对较早的文章了,对于ruby和rails的基本概念介绍的很清楚。事实上,国外已经有很成熟的ror应用,国内也在不断涌现,好像有一个叫做财帮子的网站就是用的ror。

看这里报道:什么是ROR?- 只言情不說愛 - 新浪BLOG :

oR是Ruby on Rails的缩写。Ruby on Rails是一个用于编写网络应用程序的框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持。Ruby on Rails包括两部分内容:Ruby语言和Rails框架。

什么是Ruby?
Ruby语言是一种动态语言,它与Python、Smalltalk和Perl这3种编程语言有些类似。Ruby语言起源于日本,它的研发者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是为了提高编程的效率。1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。

Ruby语言的主要特点如下。
1.纯的面向对象语言
在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。
在Java中,求一个数的绝对值的代码如下。
int c = Math.abs(-20);
而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。
c = -20.abs
这样的代码编写方式是不是更形象一些呢?

2.解释型脚本语言
Ruby语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计Ruby语言时,Ruby的研发者松本行弘考虑到文字处理方面的需要,他借鉴了Perl语言在文字处理方面的成功经验。另一方面,松本行弘将Ruby语言设定为一种解释型语言,Ruby的动态性使得由Ruby语言编写的程序不需要事先编译即可直接运行,这为程序的调试带来了方便。同时,这一特点可以实现开发过程中的快速反馈。

3.其他特点
(1)动态载入。可以在运行时候重定义自己,类也可以在运行时继承或取消继承。
(2)自动内存管理机制。
(3)多精度整数。
(4)迭代器和闭包。
(5)开源项目。有大量活跃的社区支持Ruby语言。

什么是Rails?
虽然Ruby语言有很多优点,但是一直以来,其流行的范围也仅限于日本。直到2004年,Ruby才逐渐被世界上其他地区的人们所认识,那么是什么让Ruby语言走向世界的呢?是Rails。
Rails框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David Heinemeier Hansson。不同于已有复杂的Web 开发框架,Rails是一个更符合实际需要而且更高效的Web开发框架。Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整),因此,Rails在其提出后不长的时间里就受到了业内广泛的关注。

Rails框架主要有如下的6大特点。
1.全栈式的MVC框架
Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。
在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts(Model层)、Hibernate(Controller层)和Spring(View层)3个框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。

2.约定优于配置
为了说明各个对象之间的关联关系,一般的Web应用开发框架往往采用写入XML配置文件的方法。这种方式虽然可以解决一些问题,但是却带来了管理上的混乱。
Rails对此的态度是约定优于配置,这意味着在Rails中不会出现XML配置文件。Rails使用Web应用多年来积累的各种常见约定(更具体地说是命名规则)来代替XML配置文件,而在Rails内部的映射与发现机制根据这些约定可以实现对象之间的关联。在第1章中,通过Rails的映射与发现机制实现了数据表与Ruby对象之间的关联。

3.更少的代码
使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意味着使用更少的代码来实现应用程序是极有可能的。此外,代码量的缩减也减小了出现bug的可能性,降低了维护程序和升级程序的难度。

4.生成器
Rails使用的实时映射技术和元编程技术,免去了开发人员在开发过程中编写大量样板文件代码的烦恼。在少数需要使用样板文件代码的时候,开发人员可以通过Rails内建的生成器脚本实时创建,而不再是通过手工编写。Rails的这个特点可以使开发人员更专注于系统的逻辑结构,而不必为一些琐碎的细节所烦扰。

5.零周转时间
对已有的Web应用系统进行修改后,其一般需要经过配置、编译、发布、重新设置、测试等一系列步骤才能投入使用,这明显浪费了许多时间。而使用Rails开发Web应用系统,可以通过浏览器即时查看程序运行结果,从而节约了大量的时间。

6.支架系统
Rails的支架系统可以自动为任何相关的数据库表创建一套包含标准CRUD操作和前台视图的系统。通过支架系统,开发人员可以方便快捷地操纵数据库中的数据表。此外,Rails也允许开发人员使用自己设计的代码或视图来替换自动生成的代码和视图。

目前,Rails的最新版本是2005年12月13日发布的v1.0.0(2007.9.29. rails最新版本是1.2.3,ruby的最新版本是1.8.6)。从RoR正式提出到v1.0.0的发布,RoR在一年多的时间里受到了业内人士的广泛关注。RoR受到广泛关注主要有如下两个原因:首先,RoR的开发效率高(部署容易)、功能丰富(支持Ajax等流行应用),有消息称对于相同的Web开发项目,使用RoR开发比使用Java体系架构开发快5~10倍;此外,令人不可思议的高性能是其受到关注的另一个重要原因,根据CSDN上转载的新闻称使用RoR开发出来的项目性能,比基于Struts+Hibernate+Spring的Java应用还要高15%~20%。

RoR当前遇到的主要问题是使用RoR搭建的大型商业应用还很少,究其原因可以概括为两点:第一,从开发能力的角度,RoR是一个基于Ruby语言的轻型Web开发框架,很多开发者对其是否适合大型应用难以把握。第二,本身使用RoR开发的大型商业应用较少,使得后来者持观望态度。

综合分析来看,RoR的发展前景还是很光明的。RoR在短时间内取得了巨大的成就,它打破了Web开发领域的固有观念,方便快捷的开发方式使其被广泛接受。而事实上,现在已有几家跨国公司正在使用RoR开发自己的Web应用程序,并且有多家大型公司在考虑使用RoR进行Web应用开发。
—-

以上为节选,详细内容点击链接到原文出查看。

相关内容

Ruby on Rails 学习笔记之三:最简单的理财软件

我们先来定义一下什么是最简单的理财软件:

1 可以输入花钱的记录
2 可以修改输入了的记录
3 可以删除输入了的记录
4 可以显示所有的记录

再试验了两次以后,我总结在ror中,做这个事情一共只需要三个步骤:

1 建立数据库和表
2 设定yml文件,告诉rails数据库在哪里
3 调用rails,自动生成能实现上述功能的程序和页面

具体操作步骤如下:

1 在mysql里面建立三个database,money_development, money_test, money_production。后面两个database暂时这里用不到。在money_development里面建立一个table,叫做money。我设定了最简单的三个字段,sql如下:

 
CREATE TABLE `money` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `kind` varchar(100) NOT NULL,
  `money` decimal(10,2) NOT NULL,
  PRIMARY KEY  (`id`)
)

2 建立应用,rails money ,rails会生成所有基础文件(这里假设应用名称是money,生成的路径也是money)。修改config目录下的database.yml文件。这是一个描述数据库信息的文本文件。请注意其中的帐号密码。要填写的信息其实不多。(windows用户应该可以在运行cmd后,输入所有相关命令)

# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql
# On MacOS X:
#   gem install mysql -- --include=/usr/local/lib
# On Windows:
#   gem install mysql
#       Choose the win32 build.
#       Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  database: money_development
  username: root
  password: huanghou
  socket: /tmp/mysql.sock

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: money_test
  username: root
  password: huanghou
  socket: /tmp/mysql.sock

production:
  adapter: mysql
  database: money_production
  username: root
  password: huanghou
  socket: /tmp/mysql.sock

3 建立应用,在money目录下执行 ruby script/generate scaffold Money Admin,一堆信息闪过之后就好了。可能的错误是mysql用户名密码不对。

好了,启动server, ruby script/server,到浏览器,http://localhost:3000/admin,应该出来了。

ruby on rails study

ruby on rails study

我已经建立了两条记录。rails框架的确很强大,框架已经拥有了这些基本功能:列表,输入,修改,删除,分页。更强大的还在后面。我们开始把这个最简单的理财软件往不简单修改。

源代码(本篇暂时没有), 注意修改yml文件来适应你设置的数据库。(其中的list浏览页面我已经按照书上的方法修改了呈现效果,并且也中文化了,看不明白也没有关系,接下来将把这个页面修改为符合w3c格式的,而不用table来进行排版。)

相关内容

Ruby on Rails 学习笔记之mysql的安装

本来以为可以很顺利的开始进行基于数据库的应用。
一开始为了偷懒,没有在本地安装mysql,用的是远程,后来发现在/tmp下少一个mysql的文件,总是不能成功。只好老老实实在本地安装mysql。

用windows的朋友不会有很大问题,osx下面的安装还是让我走了一点弯路。得出以下经验体会:

1 安装包里的四个文件,除了文本文件以外,都要安装,一个是主程序,一个是启动程序,一个是控制面板组件。
2 安装包里的文本文件非常有用,仔细看,能够解决几乎所有问题,包括安装路径在哪里,如何启动,如何使用alias,如何加入到path等。
3 如果英文不行,可以参考这里,版本稍微老了一些,还能用。
4 可能的话,还是装一个图形端,特别是浏览database,table之类,效率还是可以提高不少的。

安装mysql成功后,第一个基于数据库的应用:一个模仿例子做得最简单的记帐功能完成了。

相关内容