QA@IT
«質問へ戻る

質問を投稿

[rails]form_tagでファイルを送信するには?

現在railsで開発をしているのですが、fileがフォームから遅れなくて困っています。
以下に詳細を記述していきます。

ーー環境ーー
rails 3.2
ruby 1.9.3

ーーエラー内容ーー
フォームでファイルを指定して送信しても、コントローラ側ではファイル名のStringとして認識されてしまう(ファイルのデータはわたっていない)。

ーーView側のソースーー
<%= form_tag(:action => "create" ,:multipart => true) do %>
<%= label_tag 'jsonファイルをアップロードしてください' %>
<%= file_field_tag "file" %>

<%= submit_tag "ファイル送信" %>
<% end %>

ーーView側のソースをhtmlでみた場合ーー

Jsonファイルをアップロードしてください

ーーエラーに対して取った対策ーー
multipart => trueを指定する。

何かお気づきの点がございましたらご指摘いただけると幸いです。

現在railsで開発をしているのですが、fileがフォームから遅れなくて困っています。
以下に詳細を記述していきます。

ーー環境ーー
rails 3.2
ruby 1.9.3

ーーエラー内容ーー
フォームでファイルを指定して送信しても、コントローラ側ではファイル名のStringとして認識されてしまう(ファイルのデータはわたっていない)。

ーーView側のソースーー
<%= form_tag(:action => "create" ,:multipart => true) do %>
  <%= label_tag 'jsonファイルをアップロードしてください' %>
  <%= file_field_tag "file" %><br />
  
  <%= submit_tag "ファイル送信" %>
<% end %>

ーーView側のソースをhtmlでみた場合ーー
<form accept-charset="UTF-8" action="/projects/create_from_file?multipart=true" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="qsbKUGOP2KHZSS9r4cOMdQR8VOVQeBttkIV3g2UNWn0=" /></div>
  <label for="JSON_________________">Jsonファイルをアップロードしてください</label>
  <input id="file" name="file" type="file" /><br />
  
  <input name="commit" type="submit" value="ファイル送信" />
</form>

ーーエラーに対して取った対策ーー
multipart => trueを指定する。


何かお気づきの点がございましたらご指摘いただけると幸いです。