- 我
- 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 129
implicit_order_column 链接
如果在有序查找调用期间没有使用显式排序子句,则记录按该列排序的名称。如果未设置,则使用主键。
来源: 在GitHub上
# File activerecord/lib/active_record/model_schema.rb, line 113
implicit_order_column=(column_name) 链接
设置在有序查找调用期间没有使用显式排序子句时按该列排序记录。在主键不是自动递增整数时有用,例如当它是 UUID 时。如果存在主键,则按主键进行子排序以确保确定性结果。
来源: 在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 137
inheritance_column=(column) 链接
定义在单表继承情况下将存储类名的表列的名称。
# File activerecord/lib/active_record/model_schema.rb, line 162 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 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