Railsについては、言いたいことが山ほどある。いや、別に興味がないので言いたいということもないが、使う必要性に迫られたのでさすがにストレスがたまる。
おっさんの愚痴はこの辺にして、なるべくRailsの流儀とやらは除外して、他の言語からの移住者のために、世界一わかりやすいファイルのアップロードの方法をこのページでは説明します。
スポンサーリンク
HTML
まずは、ビュー(erb)です。とくにかくRailsはいろいろとうざいので、なるべくRailsの影響から逃れています。
<%= form_tag("/path/to/", method: :post, multipart: true) do %> <input type="file" name="csv_file" accept="text/csv" > <button type="submit">サブミット</button> <% end %>
コントローラー
次は、コントローラー、ファイルの受信側の記述です。上記のビューでファイルが選択され、サブミットボタンがクリックされた場合に動作します。
uploadfile = params['csv_file'] logger.debug(uploadfile.original_filename) # ファイル名 tempfile = uploadfile.tempfile logger.debug(tempfile.path) # 受信したファイルのパス
愚痴の続き
頼む!Rails!はやく消えてくれ!キミの近くにはアホが集まってくんねん!いややねん!アホとはソーシャルディスタンスしたいねん!