ruby: Activerecord дает мне идентификаторы данных объекта вместо самих данных из базы данных - PullRequest
0 голосов
/ 20 марта 2012

По какой-то причине, когда я хочу запросить данные из базы данных, я получаю имя моей таблицы, а затем набор чисел.Как показано ниже

#<My_Table:0x007fa706835b30>

Вот мой код:

#!/usr/bin/env ruby

require 'rubygems'
require 'active_record' 
require 'mysql2'

#establish the connection.
ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:database => "test",
:username => "root",
:password => "",
:host => "localhost"
)

#create a class inherit with activerecord base class.
class My_Table < ActiveRecord::Base
end

#My_Table.create(:FirstName => 'me', :LastName => "myself", :Age => "19") 
#you = My_Table.find(:first)
#puts you

user = My_Table.select("FirstName, LastName, Age")
puts user 

Вывод:

#<My_Table:0x007fa7068158d0>
#<My_Table:0x007fa7068378e0>
#<My_Table:0x007fa7068372f0>
#<My_Table:0x007fa706836d00>
#<My_Table:0x007fa706836710>
#<My_Table:0x007fa706836120>
#<My_Table:0x007fa706835b30>

Любые идеи будут высоко оценены ..

Спасибо!

1 Ответ

0 голосов
/ 20 марта 2012

Что вы видите, так это то, что каждая Active Record создает объект MyTable для каждой строки, которая соответствует вашему запросу. Номера представляют собой уникальный идентификатор для каждого объекта.

Чтобы увидеть, что находится внутри объекта, используйте

puts user.inspect

По умолчанию для каждого из этих объектов у вас будут средства доступа (Mytable.column, Mytable.column =) для каждого столбца.

...