Ruby1.9.3OnRails3.2入门锦集(2) 创建标准MVC应用
rails的脚手架(rails generator scaffold)可以快速生成应用程序所有MVC相关的文件。如果你需要为一个资源创建一系列的控制器视图模型,那么脚手架就是你需要的工具
?
rails将转到posts控制器的index方法,现在数据库里还没人任何记录,点击 New post 你可以转到新建post视图然后创建一条记录。之后你会发现你可以编辑,查看,以及删除该记录,而这么多功能只是用了一个 rails g scaffold 命令来完成的。
注意:在development模式下(默认)rails会在每次请求时重新加载你的代码,所以你不必要在每次修改后重启你的服务器
?
?
3. 模型
打开模型文件 app/models/post.rb,你会发现里面只是一个空的类:
?
class Post < ActiveRecord::Base validates :name, :presence => true validates :title, :presence => true, :length => {:minimum => 5}end
?这些改动确保了了所有的posts都必须具有name与title属性,并且title必须包含至少5个字符。
?
要查看动作的验证,你可以使用控制台。控制台可以根据你的上下文环境执行ruby代码:
?
$ rails c (rails console)
?
控制台加载完成后, 你可以操作你的模型
?
?
irb(main):001:0> p = Post.new(:content => 'a new post')
=> #<Post id: nil, name: nil, title: nil, content: "a new post", created_at: nil, updated_at: nil>
irb(main):002:0> p.save
=> false
irb(main):003:0> p.errors
=> {:name=>["can't be blank"], :title=>["can't be blank", "is too short (minimum is 5 characters)"]}
irb(main):004:0>
?
该代码显示了创建一个post实例,然后试图保存但是返回了false(也就是保存失败), 然后查看下发生的错误
?
退出控制台,输入exit然后回车就可以了。
1 楼 ahtest 2011-09-23 太感谢你了。。。