在Rails中,有没有一种简单的方法来检查ActiveRecord的属性?

时间:2009-09-13 14:15:22

标签: ruby-on-rails

我知道我可以通过rails控制台检查ActiveRecord,但它会在一行中显示整个输出。如果表有很多列,则查找特定属性可能会出现问题。

>> Story
=> Story(id: integer, name: string, link: string, created_at: datetime, updated_at: datetime)

我喜欢在创建迁移文件中显示属性的方式,但是如果我有很多迁移文件,那么跟踪我想要的文件可能有点困难。

在Django中,我可以直接访问models.py并检查我想要的任何模型的属性。 Rails开发人员如何进行这种查找?

4 个答案:

答案 0 :(得分:3)

config/schema.rb具有db模式,换句话说,所有属性。我只是打开文件并搜索Post模型的“帖子”,依此类推。

答案 1 :(得分:2)

另一种方法是使用annotate_models插件/ gem。它会在模型​​文件的顶部添加注释。

一个例子(来自README):

  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)   
  #

答案 2 :(得分:0)

我通常只是从数据库shell中描述该表。

答案 3 :(得分:0)

从rails控制台(项目根目录rails/console

Story.columns_hash.each {|k,v| puts "#{k} => #{v.type}"}

将输出:

id => integer
name => string
link => string
...
etc