两个术语"属性"和"列"似乎可以互换使用...但我猜想,列是指框,而属性是放入框中的内容。
“列”是数据库表中的一列,而“属性”是对象的外部可见面。
“属性”用于模型,“列”用于数据库表。
以下是模型的架构:
create_table "retreats", force: :cascade do |t|
t.string "title"
t.string "tagline"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
SELECT
语句选择一列,查询将返回每个结果行中该列(一个属性)的值。 - vijocActiveModel 提供了一个 attributes API
用于方便,该 API 将实例变量映射到哈希表上以便于使用。 https://blog.metova.com/rails-5-attributes-api
ActiveRecord 在 ActiveModel 的基础上自动将 columns
映射到 attributes
上,您仍然可以定义没有列的自定义属性,例如这个好的例子。http://api.rubyonrails.org/classes/ActiveRecord/Attributes/ClassMethods.html
因此,在标准的 Rails 应用程序中,ActiveRecord 模型会自动将列转换为属性,您仍然可以添加自己的属性。您还可以拥有其他 ActiveModels,它们具有自己的持久化机制(或不具有),并使用相同的属性 API,因此标准的 Rails 组件可以将其视为像 ActiveRecord 一样。
select id from some_table;
。在这里,列 = id列表
,而属性 = id
。 - Abhi