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
最新评论