我似乎无法尝试访问来自 csv 文件的哈希值,并且可以使用不同的双眼来指出我正在犯的明显错误。相关代码如下:
CSV.foreach(filename, headers: true, header_converters: :symbol, converters: :all) do |row|
data = row.to_hash
id = data['studentid'] # (have also tried id = data[':studentid'] but there are no :'s in the csv file headers, and double quotes instead of single)
title = data['title'] # also (title = data[:title'])
logger.debug "data param: #{data.inspect}"
logger.debug "data title param: #{title.inspect}"
logger.debug "data studentid param: #{id.inspect}"
来自日志文件:(有效数据被排除或伪造 - 注意 studentid 以 fixnum 形式出现)
data param: {:lastname=>"XXXX", :firstname=>"XXXXX", :title=>"XXXXXXX", :studentid=>123456, :date=>"XXXXXXXXXX"}
data title param: nil
data studentid param: nil
Rails 4.x Ruby 2.x 操作系统 Ubuntu 想法?
最佳答案
那些键是符号。尝试
id = data[:studentid]
title = data[:title]
注意:不是data[':studentid']
。 ':studentid'
只是一个以 :
关于ruby-on-rails - Rails 4 哈希访问值返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133491/