Share
Embed
Transcript
35 slides
-
RAILS 开发⼊入⻔门课程 RAILS 运⾏行环境 Model Routes 第⼀一节 第⼆二节 第三节 第四节
Controllers & Views 第五节 ActiveRecord Association 第六节 Form API 12年12月22⽇日星期六 -
上节回顾 浏览器 Web Server App Server DB Rails API HTTP
请求处理流程 12年12月22⽇日星期六 -
创建 TOPIC MODEL rails g model Topic subject content:text sticky:boolean
closed:boolean create db/migrate/20121218004121_create_topics.rb create app/models/topic.rb 12年12月22⽇日星期六 -
DATABASE MIGRATION 1 记录数据库操作历史 创建 Table 追加字段 重命名字段 删除字段 添加索引
删除索引 删除 Table 12年12月22⽇日星期六 -
创建 TOPIC MODEL rails g model Topic subject content:text sticky:boolean
closed:boolean create db/migrate/20121218004121_create_topics.rb create app/models/topic.rb 12年12月22⽇日星期六 -
id subject content sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的
0 1 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 1 0 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite 1 1 4 gem推荐: better_errors 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. 0 1 topics class Topic < ActiveRecord::Base end attr_accessible :closed, :content, :sticky, :subject Table <=> Model 12年12月22⽇日星期六 -
id subject content sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的
f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 gem推荐: better_errors 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t topics Table <=> Model @topic = Topic.create(:subject => ‘Hello’, :content => ‘Hello, world’, :sticky => false, :closed => true) 12年12月22⽇日星期六 -
topics Table <=> Model @topic = Topic.find(1) id subject content
sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的 f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 gem推荐: better_errors 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t 12年12月22⽇日星期六 -
topics Table <=> Model @topics = Topic.find_all_by_closed(true) id subject content
sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的 f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 gem推荐: better_errors 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t 12年12月22⽇日星期六 -
id subject content sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的
f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 gem推荐: better_errors 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t topics Table <=> Model @topic = Topic.find(4) @topic.subject = “rubygems.org is blocked’ @topic.save 12年12月22⽇日星期六 -
id subject content sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的
f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 rubygems.org is blocked 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t topics Table <=> Model @topic = Topic.find(4) @topic.subject = “rubygems.org is blocked’ @topic.save 12年12月22⽇日星期六 -
id subject content sticky closed 1 为什么有同鞋学习ruby之 后学习go?? 有⼀一部分写ruby/rails的同 鞋是从java等语⾔言转的
f t 2 监控thin服务器 ⺴⽹网站的thin服务器有时候会 down掉。不知道什么原因, 就写了⼀一个简单脚本监控。 t f 3 Rails 数据库如何选择 开始了rails之旅,但发现教程 和书籍默认的数据库都是 SQLite t t 4 rubygems.org is blocked 今天github趋势⻚页上升排 名第⼀一,为你的Rails项⺫⽬目 带来更好的error page. f t 5 Hello Hello, world f t topics Table <=> Model Topic.delete(5) 12年12月22⽇日星期六 -
业务逻辑 validates:subject, :presence => true, :length => {:minimum => 10}
validates :content, :length => {:maximum => 500} :presence => true, class Topic < ActiveRecord::Base end attr_accessible :closed, :content, :sticky, :subject 12年12月22⽇日星期六 -
>> t = Topic.new(:subject => "Welcome") => #<Topic id: nil,
subject: "Welcome to Rails", content: nil, closed: nil, sticky: nil, created_at: nil, :updated_at: nil> >> t.new_record? => true >> t.save => false >> puts t.errors.full_messages => Content can't be blank => Subject is too short (minimum is 10 characters) RAILS CONSOLE 12年12月22⽇日星期六 -
推荐阅读 http://guides.rubyonrails.org/migrations.html http://guides.rubyonrails.org/active_record_querying.html http://guides.rubyonrails.org/active_record_validations_callbacks.html Rails Database Migrations Active Record Query
Interface Active Record Validations and Callbacks 12年12月22⽇日星期六