0
我想将文件上传到/ tmp文件夹,然后在控制器中使用它。但是文件不会从视图到控制器。 看我的看法:文件上传到/ tmp,rails 2
<% form_tag import_cash_payments_forms_path, {:method => :post, :multipart => true} do %>
<b>city:</b>
<%= select :data, :city_id, @cities %>
<br>
<br>
<b>region:</b>
<%= select :data, :region_id, @regions %>
<br>
<br>
<b>date:</b>
<%= date_select2 :data, :date %>
<br>
<br>
<b>file:</b><br>
<%= file_field_tag :file %><br>
<small>Доступные форматы: xml, xmlx</small>
<br>
<br>
<%= submit_tag "Load", :onclick => "submitAndTemporarilyDisable(this)" %>
<% end %>
这里是我的控制器:
def import_cash_payments
selects
employer_id = current_employer.id
datas = params.slice(:city_id, :region_id, :date)
file = File.new(params[:file]) # HERE IS ERROR... File is nil, but why?
file.save
import = Import.new(datas, employer_id, file)
import.run
end
错误,我得到:
can't convert nil into String
错误给出befor提交,我甚至不能按下按钮辩论,因为视图不工作。
文件是一个ruby类,它将期望一组特定的属性被传递给它的'.new'方法。你在params中获得的属性可能有错误的名字。你在'params [:file]'中有什么?'? (你的日志文件会显示你) – 2014-10-06 16:16:11