Activerecord将所有结果作为哈希返回

时间:2014-03-30 01:13:19

标签: ruby activerecord

我有以下连接到名为dbblah和table1(名称已更改)的数据库

require 'active_record'

ActiveRecord::Base.establish_connection(
        :adapter => "mysql",
    :host => "192.168.1.10",
    :database => "automation",
    :username => "root",
    :password => "password"
)

ActiveRecord::Base.pluralize_table_names = false

class Table1 < ActiveRecord::Base
end

db = Table1.find_by(db: 'dbname')
puts db

但是当我运行它时,我将结果看作是一个哈希:

[root@localhost server]# ruby blah.rb
#<Table1:0x000000019796a8>

1 个答案:

答案 0 :(得分:2)

这只是在新对象上调用的to_s方法的输出 - 它绝对不是哈希。默认情况下,使用非字符串调用puts方法时,会在该对象上调用to_s方法以显示字符串。对于ActiveRecord模型to_s方法,可以得到你所得到的结果。

尝试调用p db以显示在该对象上调用的方法inspect的结果,这将使您更深入地了解其内部结构。