- 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 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 連結
內部 metadata 表格的名稱。預設值為 "ar_internal_metadata"
。
來源:GitHub
# File activerecord/lib/active_record/model_schema.rb, line 85
internal_metadata_table_name=(table_name) 鏈結
設定內部 metadata 表格的名稱。
來源:GitHub
# File activerecord/lib/active_record/model_schema.rb, line 91
pluralize_table_names 鏈結
表示表格名稱是否應為對應類別名稱的複數形式。如果為真,則 Product 類別的預設表格名稱將為「products」。如果為假,則只會是「product」。有關表格/類別命名完整規則,請參閱 table_name。預設為真。
來源:GitHub
# File activerecord/lib/active_record/model_schema.rb, line 97
pluralize_table_names=(value) 鏈結
設定表格名稱是否應為對應類別名稱的複數形式。如果為真,則 Product 類別的預設表格名稱將為「products」。如果為假,則只會是「product」。有關表格/類別命名完整規則,請參閱 table_name。預設為真。
來源: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) 鏈結
設定 schema migration 資料表的表名。
原始碼:點此前往 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