2013-04-24 86 views
0

如何从表中获取物品?我想从问题列中获取值,使用条件。如何从数据库中获取价值?

@result = Customers.where(:name => session[:username], :email => session[:useremail]) 

现在,我可以从任何列获得价值吗?像这样:@ result.column_from_customers_table,对不对?

回答

1

这是初学者常犯的错误。你有的代码返回一个ActiveRecord::Relation对象,但实际上并没有连接到你的数据库。为了得到一个记录,你必须通过每一个结果循环或者调用.first就可以得到第一个匹配结果

# returns an ActiveRecord::Relation object 
@results = Customers.where(:name => session[:username], :email => session[:useremail]) 

# returns the first matching record 
@object = @results.first 

# then you can call the column names on @object 
@object.name 
@object.email 

# looping through the results 
@results.each do |object| 
    puts object.name 
    puts object.email 
end