美文网首页
Rails: Active Record Basic

Rails: Active Record Basic

作者: bookinstock_ | 来源:发表于2016-07-06 22:07 被阅读17次

    Guide

    • Object Relational Mapping (ORM)
    • Model manipulating data stored in relational database.
    • Migrations, Validations, Callbacks, Associations, Queries

    1. Active Record

    • MVC 中的模型层 Model
    • Object Relational Mapping (ORM) 的一活生生的例子。
    • 负责处理核心业务及其相关的逻辑,并将相关数据持久化存储到数据库中。

    2. Schema Conventions

    • Active Record 关联数据库某些特殊列的命名规则:
      • Primary key 默认为idForeign key 默认为关联表名称_id
      • Timestamps 默认为表格添加两个时间戳 created_atupdated_at
      • Optimistic Locking 乐观锁通过添加 lock_version来实现。
      • Single Table Inheritance 单表继承通过添加 type 来实现。
      • Polymorphic Association 多态通过添加 关联表名称_id/_type 来实现。
      • Counter Cache 计数器通过添加 关联表名称_count 来实现,注意只读。
    • Tips: 向上述这些列的名称应该在非特定情况中避免使用,以免混淆不清。

    3. Overriding the Naming Conventions

    • 如果你不幸遇到遗留系统 (legacy app),并且它的数据库中表的名称并没有遵循 Rails 约定俗成的规则,那么该怎么办呢?不要慌,简单地使用一些方法就可以达到相互认识且完美匹配的效果。例如ActiveRecord::Base.table_name=.. primary_key=.. 方法来指定遗留系统中的表名和主键名。

    4. CRUD

    • C: new + save, create
    • R: all, find, find_by, first, where
    • U: find + save, update, update_all, update_attribute, update_column
    • D: find + destroy, find + delete, destroy_all, delete_all

    Others:

    • 204 No Content response
    • validates: presence or uniqueness of columns,
    • validates: their format
    • validates: the existence of associated objects
    • div.field_with_errors
    • http_basic_authenticate_with
    • Devise and Authlogic

    Resources:

    相关文章

      网友评论

          本文标题:Rails: Active Record Basic

          本文链接:https://www.haomeiwen.com/subject/hynkjttx.html