Rails param [“value”]为零

时间:2011-11-08 04:16:33

标签: ruby-on-rails ruby-on-rails-3

出于某种原因,我的一个参数(文件上传)总是为零。以下是显示的异常页面中的params哈希:

{"utf8"=>"✓",
 "_method"=>"put",
 ...

 "avatar"=>#<ActionDispatch::Http::UploadedFile:0x007fe7fa1dd460 @original_filename="rp.jpg",
 @content_type="image/jpeg",
 @headers="Content-Disposition: form-data; name=\"user[avatar]\"; filename=\"rp.jpg\"\r\nContent-Type: image/jpeg\r\n",
 @tempfile=#<File:/var/folders/44/xrz6nqg91_l_gzmhxt8s771c0000gn/T/RackMultipart20111107-12870-nguhuw>>},
 "commit"=>"Update",
 "id"=>"1"}

在我的控制器中,我有if params["avatar"],但是头像总是返回零。

1 个答案:

答案 0 :(得分:4)

avatar可能嵌套在另一个元素中。通过省略重要的细节,我们无法分辨,但我可以告诉你的转储在}开头的行上有一个不平衡@tempfile,所以很可能匹配{"avatar"=>之前出现,因此它嵌套在另一个哈希中。

您可以尝试使用params[:user][:avatar]或类似模型的实际名称。