我有以下连接到名为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>
答案 0 :(得分:2)
这只是在新对象上调用的to_s
方法的输出 - 它绝对不是哈希。默认情况下,使用非字符串调用puts
方法时,会在该对象上调用to_s
方法以显示字符串。对于ActiveRecord模型to_s
方法,可以得到你所得到的结果。
尝试调用p db
以显示在该对象上调用的方法inspect
的结果,这将使您更深入地了解其内部结构。