私は、AJAX アップロード フォームを機能させようとして頭を悩ませてきました。Rails 3.2 を使用しています。gem "remotipart", "~> 1.0"
Gemfileを入れて実行したところ、bundle install
正常にインストールされました。
私は以前、この非 ajax アップロード フォームを持っていましたが、 github ページ:remote => true
の文献に従って追加しました。
<%= form_tag "/administration/data_imports", :multipart => true, :remote => true %>
<label for="file">Input File</label> <%= file_field_tag "file" %>
<button type="submit">Import Data</button>
</form>
そしてこれは私のdata_imports_controller
create
行動で:
def create
file = params[:file]
filename = file.original_filename
end
jquery.remotipart.js
明示的な指示はありませんが、不可欠だと感じたので、ページにjavascriptインクルードを追加しました..
私はそれを試してみましたが、サーバーエラーを出して失敗しました:
Completed 500 Internal Server Error in 4ms
NoMethodError (undefined method `original_filename' for nil:NilClass):
app/controllers/data_imports_controller.rb:16:in `create'
私が根本的に間違ったことをしているのは明らかですが、手を貸してください。