Я внедряю несколько недель в Ruby. И что я хочу сделать, это прочитать в CSV-файл, который я затем помещаю во временный файл, чтобы я мог получить к нему доступ в следующих представлениях и манипулировать данными. Я реализовал все как примеры в Интернете, но я всегда получаю ошибку: неопределенный метод `original_filename 'для nil: NilClass
Мой код на мой взгляд:
<% 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
Я действительно не знаю, что я делаю неправильно, я надеюсь, что кто-то может мне помочь. Файл param не пустой.
Заранее спасибо!