在我的应用程序中,用户必须上传一个文本文档,然后由接收控制器操作解析其内容。我已成功上传文档,但我无法阅读其内容。
关于这个问题有几个线程。我已经或多或少地尝试了这些线程上推荐的所有内容,但我仍然无法解决问题。
这是我的代码:
file_data = params[:file]
contents = ""
if file_data.respond_to?(:read)
contents = file_data.read
else
if file_data.respond_to?(:path)
File.open(file_data, 'r').each_line do |line|
elts = line.split
#
#
end
end
end
所以这是我的问题:file_data 没有“respond_to”?:read 或 :path。根据该主题的其他一些线程,如果上传的文件小于某个大小,则将其解释为字符串并响应 :read。否则,它应该响应 :path。但在我的代码中,它都不响应。
如果我尝试取出 if 语句并立即尝试 File.open(file_data, 'r'),我会收到一条错误消息,指出找不到文件。
有人可以帮我找出问题所在吗?
PS,我真的很抱歉这是一个多余的问题,但我发现其他线程没有帮助。