Active Record 默认属性(来自底层 table 的 select 列)
Active Record default attributes (select columns from underlying table)
我在 PostgreSQL 中获得了一个实体化视图,我将其包装在我指定 self.table_name = <my mat-view table name>
的 Active Record class 中。物化视图包含多个列(确切地说是五个),但是当我实例化 AR 模型时,我希望它只 return 这些列的一个子集作为属性。是否可以定义从 table 读取的默认值 attributes/columns?如果可以,我该怎么做?
您可以定义只选择所需列的 default_scope
:
default_scope { select(:column_1, :column_2, :column_3) }
我在 PostgreSQL 中获得了一个实体化视图,我将其包装在我指定 self.table_name = <my mat-view table name>
的 Active Record class 中。物化视图包含多个列(确切地说是五个),但是当我实例化 AR 模型时,我希望它只 return 这些列的一个子集作为属性。是否可以定义从 table 读取的默认值 attributes/columns?如果可以,我该怎么做?
您可以定义只选择所需列的 default_scope
:
default_scope { select(:column_1, :column_2, :column_3) }