如果我在视图中查看debug(),我似乎得到一个字符串而不是预期的数组。当我运行一个控制台时,我会得到一个阵列。有人可以指出我的错误吗?
我在阅读文件和拆分第一行时所做的是:
def getheader
filepath = File.join('public', tempfilename)
line = File.open(filepath, 'r').first
# scan for the delimiter
count_comma = line.count(',')
count_semicolon = line.count(';')
count_tab = line.count('\t')
if count_comma > count_semicolon && count_comma > count_tab
return line.split(',')
elsif count_semicolon > count_comma && count_semicolon > count_tab
return line.split(';')
else count_tab > count_comma && count_tab > count_semicolon
return line.split('\t')
end
end
我在控制器中将此信息返回给视图的代码是:
def new
dataset = DataSet.find_by_id(params[:data_set_id])
@headerinfo = []
@headerinfo = dataset.getheader
@internalfields = AddressRecord.column_names
end
最后是debug(@headerinfo)和debug(@internalfields)的视图。我可以清楚地看到内部字段显示为数组,但headerinfo不是。当我遍历它们时,@ headerinfo.each只通过代码一次。第一个结果是@headerinfo,第二个结果是@internalfields