回顾的笔记

1. ActiveSupport的笔记



2. ActiveRecord重读的收获


A. Migration的一些东西

ruby script/generate migration xxxx_xxxx

add_column rename_column change_column

add_index remove_index

复合索引 add_index :t, [:col1, :col2], :name=>'index_name'

 

create_table :table do |t|
end

装载预定义的数据
directory = File.join(File.dirname(__File__), "dev_data")
Fixtures.create_fixtures(directory, "users")
同时,在db/migrate/dev_data下面存在一个users.yml文件

B. boolean 属性和重新定义ActiveRecord::Base中的方法

检查的一个boolean属性应该通过user.superuser?

带出问号。如果要修改,那么可以这么定义:

class User < ActiveRecord::Base
  def superuser?
     self.superuser == 'J'
  end
end
 

C. id

将数据id和数据内容分开。

 

 

D. 四项基本操作 CRUD

需要注意类方法和实例方法并举。

D1. new create

 

D2. find(id)如果查不到记录,就会抛出RecordNotFound异常。

id可以传入一个list,可以是用逗号分隔的,也可以是一个数组,此时即使只有一条查不到依旧抛出异常。

原因在于DHH认为根据主键查询是你事先知道此特定记录,所以没有就抛异常。

但如果传入:first或者:all,那么就不会抛出,而是返回nil或者空数组。

 

:conditions输入的东西最好不是直接在""里面使用#{},即不使用直接生成的sql string,而是使用sql 占位符

占位符又包括问号占位符和 命名占位符两种。

使用占位符时,conditions指向数组,数组内第一个元素是string,其后是一个hash。

:order :group


D3. update_attributes(params[:order])

save save!

 

D4. 类方法delete, delete_all, destroy, destroy_all

实例方法destroy

delete不会触发回调功能和验证。

 

E. 表间关联

belongs_to 包含外键的表(模型),就要使用belong_to。

可以把belongs_to理解为reference.

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值