博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
single-table inheritance 单表继承
阅读量:6693 次
发布时间:2019-06-25

本文共 1350 字,大约阅读时间需要 4 分钟。

type 字段在 Rails 中默认使用来做 STI(single-table inheritance), 当 type 作为普通字段来使用时,可以把SIT的列设置成别的列名(比如不存在的某个列)。 文档在这里 http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-inheritance_column,
使用下面的方法就是设置 STI 使用的列名,默认是‘type',既然不想使用 STI了,可以设置一个不太可能和以后的列名冲突的名字,比如使用 ’_disable‘。 比如可以在 Model 中设置为
self.inheritance_column = '_disable'
 

Defines the name of the table column which will store the class name on single-table inheritance situations.

The default inheritance column name is type, which means it's a reserved word inside Active Record. To be able to use single-table inheritance with another column name, or to use the column type in your own model for something else, you can set inheritance_column:

self.inheritance_column = 'zoink'
关于single table inheritance, 可以查看下面的文档
http://api.rubyonrails.org/classes/ActiveRecord/Inheritance.html 以下是建表语句
class CreateSubjects < ActiveRecord::Migration[5.0]  def change    create_table :subjects do |t|       t.string :title, limit: 40      t.string :sub_title, limit: 40      t.string :categories, limit: 30      t.string :description, limit: 500       t.integer :status, limit: 1      t.integer :type, limit: 1      t.integer :use_default_image, limit: 1      t.integer :has_ranking_list, limit: 1      t.timestamps    end  end end

 

转载于:https://www.cnblogs.com/iwangzheng/p/5865333.html

你可能感兴趣的文章
HA高可用集群基础概念和原理
查看>>
MySQL over函数的用法
查看>>
Linux命令(9):mkdir命令
查看>>
vmstat命令
查看>>
poj2245 Lotto
查看>>
我的友情链接
查看>>
Oracle版本升级
查看>>
sizeof 的使用(标记一下)
查看>>
第 四 十 天:关 于 正 则 的 一 些 小 用 法
查看>>
编程 -- awk
查看>>
2012 #3 Arcane Numbers
查看>>
python 列表模拟堆栰
查看>>
Linux-Centos5.3中文乱码问题解决
查看>>
linux分区学习[ CentOS ]
查看>>
aaa认证
查看>>
linux系统查找具体进程
查看>>
c#执行Oracle存储过程
查看>>
adb_安装软件
查看>>
廖雪峰官网学习js 字符串
查看>>
phpcms 如何获取文章
查看>>