2017-07-28 3 views
0

私はpostメソッドが完全に動作するときにmultipartでファイルを渡すためにfrom_tagを使用していますが、パラメータを取得するメソッドを変更すると、文字列。form_tagメソッドと::getとmultipart:true

<%= form_tag receptors_overview_path, method: :get, multipart: true do %> 
    <%= file_field_tag :receptors_file, accept: '.xlsx' %> 
    <%= submit_tag 'Import!', class: "btn btn-success" %> 
<% end %> 

ルート

get 'receptors/overview' 

それはgetメソッドとマルチパートの仕事にかのうですか?またはpostメソッドでのみ動作します。 thx。

答えて

1

ここで大胆な立場を取って、マルチパートとGETを一緒に使うことはできません。マルチパートフォームからのファイルの内容は、GETにはないボディが必要なエンティティで運ばれます。

POSTをGETとして解釈するためにメソッドタイプを偽装するために使用できるサーバー側の仕掛けがあります。あるいは、クライアント側でアップロードをシリアル化して、Javascriptライブラリを使用してその内容をパラメータとして渡すこともできますバニラのHTMLフォームは、マルチパートとGETを行うことはできません。

+0

ok、ありがとうございます。 –

関連する問題