rubyonrails:Ruby on rails开发从头来( 3十 7)- ActiveRecord基础

  ActiveRecord是Rails提供个对象关系映射(ORM)层从这篇开始我们来了解Active Record些基础内容连接数据库映射表访问数据等   Active Record使用基本ORM模式:表映射成类行映射成为对象列映射成对象属性和很多大量使用配置ORM库区别Active Record最小化了配置想象个使用Active Record把Mysql数据库中orders表转换到类通过制定ID查找到order设定order名称然后保存回数据库:

require "rubygems"
require_gem "activerecord"
ActiveRecord::Base.establish_connection(:adapter => "mysql",
:host => "localhost", :database => "railsdb")
Order < ActiveRecord::Base
end
order = Order.find(123)
order.name = "Dave Thomas"
order.save


  在上面例子里不需要任何配置Active Record为我们做了这些事情下面我们来看看ActiveRecord是怎样工作

  表和类

  当你创建了个ActiveRecord::Base类子类Active Record假定表名是复数而类名是单数当类名包括多个单词时表名被假定为单词间带有下划线复数形式不规则例如:

类名        表名         类名        表名
Order        orders        LineItem      line_items
TaxAgency      tax_agencies     Person       people
Diagnosis      diagnoses       Quantity      quantities
Batch        batches       Datum       data


  默认Active Record表名是复数类名是单数如果你不太习惯可以通过设置个全局标记来禁用它在config目录environment.rb文件中设置:

  ActiveRecord::Base.pluralize_table_names = false

  单复数规则可以对付大部分情况对于些特殊情况Active Record允许我们覆盖默认生成表名使用_table_name命令例如:

Sheep < ActiveRecord::Base
_table_name "sheep" # Not "sheeps"
end
Order < ActiveRecord::Base
_table_name "ord_rev99_x" # Wrap a legacy table...
end


Tags:  rubyonrails安装 rubyrails rubyonrails教程 rubyonrails

延伸阅读

最新评论

发表评论