我正在像水豚一样测试表单:
attach_file('csv', File.absolute_path('spec/support/test.csv'))
如果以这种方式在控制器中打印出参数,则会得到:
{
"csv"=>"test.csv",
}
但是,如果我在浏览器中执行此操作,然后选择一个文件并以这种方式提交表单,则会得到以下参数。
{
"csv"=>#<ActionDispatch::Http::UploadedFile:0x00007f90786456f8 @tempfile=#<Tempfile:/var/folders/dd/.../T/RackMultipart20180813-8714-9t8e5.csv>, ...>
"remotipart_submitted"=>"true",
"X-Requested-With"=>"IFrame",
"X-Http-Accept"=>"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01",
}
水豚为什么给我一个文件路径String
而不是ActionDispatch::Http::UploadedFile
?如何让水豚模仿实际的文件上传?