我正在Ruby中實施幾周。而我想要做的就是讀取一個csv文件,然後把它放在一個臨時文件中,這樣我就可以在下一個視圖中訪問它並操作數據。我已經實現一切都像在互聯網上的例子,但我總是得到錯誤:未定義的方法`original_filename」的零:NilClass爲什麼file.original_filename在Ruby on Rails中不起作用?
我在我看來代碼:
<% form_for :dump, :url=>{:controller=>"project_importer", :action=>"match"}, :html => { :multipart => true } do |f| -%>
<table">
<tr>
<td>
<label for="dump_file">
Select a CSV File :
</label>
</td>
<td >
<%= f.file_field :file -%>
</td>
</tr>
</table>
,然後在我的控制器我有:
file = params[:file]
@original_filename = file.original_filename
tmpfile = Tempfile.new("redmine_user_importer")
if tmpfile
tmpfile.write(file.read)
tmpfile.close
tmpfilename = File.basename(tmpfile.path)
if !$tmpfiles
$tmpfiles = Hash.new
end
$tmpfiles[tmpfilename] = tmpfile
else
flash[:error] = "Cannot save import file."
return
end
我真的不知道我在做什麼錯,我希望有人能幫助我。該文件參數不是空的。
在此先感謝!
你能把參數傳入服務器日誌嗎? – jaydel