- I
- P
- S
- T
类公共方法
immutable_strings_by_default=(bool) 链接
确定列是否应将其类型推断为 :string 或 :immutable_string。此设置不影响 attribute :foo, :string 的行为。默认为 false。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 131
implicit_order_column 链接
在有序查找调用中使用显式排序子句时,记录排序的列的名称。如果未设置,则使用主键。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 113
implicit_order_column=(column_name) 链接
在有序查找调用中使用显式排序子句时,设置排序记录的列。对于主键不是自动递增整数(如 UUID)的模型很有用。
默认情况下,记录会按主键进行子排序,以确保结果确定。要禁用此子排序行为,请将 'implicit_order_column' 设置为 `[“column_name”, nil]`。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 120
inheritance_column 链接
在单表继承情况下存储类名的表列的名称。
默认的继承列名是 type,这意味着它在 Active Record 中是一个保留字。要能够使用其他列名进行单表继承,或在您自己的模型中使用 type 列用于其他目的,您可以设置 inheritance_column
self.inheritance_column = 'zoink'
如果您希望完全禁用单表继承,可以将 inheritance_column 设置为 nil。
self.inheritance_column = nil
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 139
inheritance_column=(column) 链接
定义将在单表继承情况下存储类名的表列的名称。
来源: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 164 included do class_attribute :primary_key_prefix_type, instance_writer: false class_attribute :table_name_prefix, instance_writer: false, default: "" class_attribute :table_name_suffix, instance_writer: false, default: "" class_attribute :schema_migrations_table_name, instance_accessor: false, default: "schema_migrations" class_attribute :internal_metadata_table_name, instance_accessor: false, default: "ar_internal_metadata" class_attribute :pluralize_table_names, instance_writer: false, default: true class_attribute :implicit_order_column, instance_accessor: false class_attribute :immutable_strings_by_default, instance_accessor: false class_attribute :inheritance_column, instance_accessor: false, default: "type" singleton_class.class_eval do alias_method :_inheritance_column=, :inheritance_column= private :_inheritance_column= alias_method :inheritance_column=, :real_inheritance_column= end self.protected_environments = ["production"] self.ignored_columns = [].freeze self.only_columns = [].freeze delegate :type_for_attribute, :column_for_attribute, to: :class initialize_load_schema_monitor end
internal_metadata_table_name 链接
内部元数据表的名称。默认情况下,值为 "ar_internal_metadata"。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 85
internal_metadata_table_name=(table_name) 链接
设置内部元数据表的名称。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 91
pluralize_table_names 链接
指示表名是否应为相应类名的复数形式。如果为 true,则 Product 类的默认表名为“products”。如果为 false,则仅为“product”。有关表/类命名的完整规则,请参阅 table_name。默认情况下,此值为 true。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 97
pluralize_table_names=(value) 链接
设置表名是否应为相应类名的复数形式。如果为 true,则 Product 类的默认表名为“products”。如果为 false,则仅为“product”。有关表/类命名的完整规则,请参阅 table_name。默认情况下,此值为 true。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 105
primary_key_prefix_type 链接
将添加到每个主键列名之前的名称前缀类型。选项包括 :table_name 和 :table_name_with_underscore。如果指定了前者,Product 类将查找“productid”而不是“id”作为主键列。如果指定了后者,Product 类将查找“product_id”而不是“id”。请记住,这是所有 Active Record 的全局设置。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 17
primary_key_prefix_type=(prefix_type) 链接
设置将添加到每个主键列名之前的名称前缀类型。选项包括 :table_name 和 :table_name_with_underscore。如果指定了前者,Product 类将查找“productid”而不是“id”作为主键列。如果指定了后者,Product 类将查找“product_id”而不是“id”。请记住,这是所有 Active Record 的全局设置。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 27
schema_migrations_table_name 链接
模式迁移表的名称。默认情况下,值为 "schema_migrations"。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 73
schema_migrations_table_name=(table_name) 链接
设置模式迁移表的名称。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 79
table_name_prefix 链接
添加到每个表名称前面的前缀字符串。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 37
table_name_prefix=(prefix) 链接
设置添加到每个表名称前面的前缀字符串。例如,如果设置为“basecamp_”,则所有表名将命名为“basecamp_projects”、“basecamp_people”等。这是在共享数据库中创建表命名空间的便捷方法。默认情况下,前缀为空字符串。
如果您在模块内组织模型,可以通过在父模块中定义一个名为 table_name_prefix 的单例方法来为命名空间内的模型添加前缀,该方法返回您选择的前缀。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 43
table_name_suffix 链接
要附加到每个表名称的后缀字符串。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 56
table_name_suffix=(suffix) 链接
功能类似于 table_name_prefix=,但附加而不是前置(设置为“_basecamp”将得到“projects_basecamp”、“people_basecamp”)。默认情况下,后缀为空字符串。
如果您在模块内组织模型,可以通过在父模块中定义一个名为 table_name_suffix 的单例方法来为命名空间内的模型添加后缀,该方法返回您选择的后缀。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 62
实例公共方法
id_value 链接
返回名为“id”的列的底层列值。当定义包含“id”列的复合主键时很有用,以便值可读。
来源: 在 GitHub 上
# File activerecord/lib/active_record/model_schema.rb, line 10