在Rails中,是否有一种简单的方法来检查ActiveRecord的属性?
问题描述:
我知道我可以通过rails控制台检查一个ActiveRecord,但它显示了整行输出。如果表格有许多列,这可能是查找特定属性的问题。在Rails中,是否有一种简单的方法来检查ActiveRecord的属性?
>> Story
=> Story(id: integer, name: string, link: string, created_at: datetime, updated_at: datetime)
我喜欢的属性是如何显示在创建迁移文件,但如果我有很多迁移文件,它可能是一个有点难以跟踪我想要的。
在Django中,我可以直接进入models.py并检查我想要的任何模型的属性。 Rails开发人员如何进行这种查找?
答
config/schema.rb
具有数据库模式,换句话说就是所有的属性。我只是打开文件并搜索Post模型的“帖子”,依此类推。
答
我通常只是从数据库shell描述表。
答
另一种方法是使用annotate_models plugin/gem。它会在模型文件的顶部添加注释。
(自述)的一个例子:
Schema as of Sun Feb 26 21:58:32 CST 2006 (schema version 7)
#
# id :integer(11) not null
# quantity :integer(11)
# product_id :integer(11)
# unit_price :float
# order_id :integer(11)
#
答
从轨道控制台(rails/console
从项目根)
Story.columns_hash.each {|k,v| puts "#{k} => #{v.type}"}
其中将输出:
id => integer
name => string
link => string
...
etc