View开发技巧
-
表单中的虚拟属性
视图使用的属性不对应数据库中的字段。 -
非数据库数据模型
不依赖于后端数据库的表单。 -
嵌套模型的form第一部分,嵌套模型的form第二部分
accepts_nested_attributes_for
:
需要has_one/has_many
这样的从属关系,但是又不想再单独为被包含的对象建一个表的时候用。
比如user has_one profile
,profile
包括name,address,phone
等等。 不想单独建一个profile表,但是全部作为User的属性又显得很乱,就可以把profile嵌入到user里面,实际上还在user表里,但是有了has_one/has_many
这样的从属关系,逻辑上更清晰。 -
多步骤表单 将表单的填写分成多个页面,类似支付,可以下一步和上一步。
Model开发技巧
-
Rails 3中的Active Record的查询
model中的查询和scope的使用。 -
Rails 3 中的高级查询
用类方法代替Scopes等高级查询。 -
Include vs Joins
modle查询中include和joins的区别。 -
多态关联
多个model对应同一个model,减少关联关系复杂性。 -
嵌入关联
角色的权限验证系统Role。
路由开发技巧
- Routing in Rails 3
:as具名路由,可选参数,Constraints限定等用法。
功能开发技巧
- 发送email
系统自动发送email功能。 - 给文章打标签(虚拟属性)
增加标签功能。 - 自引用关联
用户关注功能。 - Seed Data
初始化数据(seeds.rb)显示用户使用的操作系统等。 - Trees with Ancestry 类似新闻评论上的楼中楼。
- Tree Based Navigation 树形导航,面包屑。