新手问题 该如何获取这种 params

Catherine · 2015年11月27日 · 最后由 xworm 回复于 2015年11月27日 · 2076 次阅读
Parameters: {"utf8"=>"✓", "authenticity_token"=>"uyR6AK1iXhExxiLiDu3PBC1RALCTjtkZIN37nUOBGLk=", "record"=>{"op_platform"=>"", "select_location"=>"", "actual_weight"=>"1.0", "excel"=>#<ActionDispatch::Http::UploadedFile:0xd44bdf0 @original_filename="文件.xls", @content_type="application/vnd.ms-excel", @headers="Content-Disposition: form-data; name=\"record[excel]\"; filename=\"\xE5\x88\x86\xE6\x8B\xA3\xE5\x8D\x95_20151127095756.xls\"\r\nContent-Type: application/vnd.ms-excel\r\n", @tempfile=#<File:/tmp/RackMultipart20151127-21761-zrgawx>>}, "commit"=>"Update", "association"=>"select_items", "iframe"=>"true", "parent_scaffold"=>"buyer/select_lists", "select_list_id"=>"1", "id"=>"1"}

比如要获取 excel 的 @originnal_filename 等属性,该用 params[??] 来获取啊?

目测 params[:excel][:filename]

@catherine params[:excel].original_filename 这个 应该对了,不过要注意文件名中文乱码

params[:excel].tempfile 这个才是拿文件

#4 楼 @flowerwrong 试了这个还是什么都没有.. #3 楼 @yuanrenkai 那个还是没对,避免中文我用 content_type 打印,还是什么都没..

可否把你文件上传部分的代码贴出来@catherine ,,还有 你现在是什么错误

#6 楼 @yuanrenkai 我用的 active_scaffold 和 paperclip 实现的上传文件,没有直接用 form_tag 或者 form_for。

params[:record][:excel].original_filename

这样能获取到么,貌似你这个 excel 包含到 record 里面去了

#8 楼 @stone IT DID !! 非常感谢

@catherine 不客气,细心点观察一下参数就能看出来了

默默的说 我刚用 rails 写博客的时候也遇到过这个问题 😂😂 把 对象多打出来看几次就好了 不好找的话 可以用 p

需要 登录 后方可回复, 如果你还没有账号请 注册新账号