などの宝石を使用せずに csv アップロード機能を実装しようとしていpaperclip
ます。ビューは次のとおりです。
%h1 Add Users From CSV
= form_tag(:action => "upload",:multipart => true,:method => :post) do
= file_field_tag 'csv'
= submit_tag 'Upload'
そして、ここにコントローラーがあります:
def upload
csv_io = params[:csv]
File.open(Rails.root.join('public', 'uploads', csv_io.original_filename), 'wb') do |file|
file.write(csv_io.read)
end
redirect_to root_path, :notice => "Successfully uploaded csv!"
end
しかし、という名前のcsvをアップロードしているときに、このエラーメッセージが表示されましたdata.csv
undefined method `original_filename' for "data.csv":String
公式の Rails ガイドに従っただけですが、まだエラーが発生しています。誰かがいくつかの解決策を提案できますか?
注: csv ファイルからデータを読み取るだけでよく、サーバーに永続的に保存する必要はありません。