我的rails应用程序中有一个自定义方法,如下所示。 我在rails控制台中测试了sql,它返回一个像这样的id => VU
def self.vu ids
results = User.select('tests.dpi, sum(worker) as vu')
.joins{tests}
.where("tests.dpi in (?)", ids)
.group('tests.dpi')
hash = {}
results.each {|record| hash[record.dpi] = record.vu}
hash
end
对于我的控制器中的节目我有这个:
def show
ids = User.find(params[:id])
logger.debug "test: #{ids.id}"
#See ID at this point and SQL query runs
vu = Hash.new
vu =User.vu ids.id
logger.debug "value: #{vu}"
#Blank
vu = vu[ids.id]
logger.debug "value: #{vu}"
#blank no hash value?
end
我可以看到SQL查询正常运行,并且它在控制台中工作,但它没有在哈希值中设置值?我明显错过了什么?谢谢。