我一直在努力让 AJAX 上传表单正常工作。我正在使用 Rails 3.2。我放入gem "remotipart", "~> 1.0"
了我的 Gemfile,运行bundle install
并成功安装。
我以前有这个非 ajax 上传表单,我:remote => true
根据github 页面上的文献添加了该表单:
<%= 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
我在我的页面上添加了一个 javascript 包含,jquery.remotipart.js
因为它感觉很重要,尽管没有明确的指示这样做..
我试过了,但没有给出服务器错误:
Completed 500 Internal Server Error in 4ms
NoMethodError (undefined method `original_filename' for nil:NilClass):
app/controllers/data_imports_controller.rb:16:in `create'
很明显我在做一些根本错误的事情,但我需要帮助。