深入Rails的上傳功能,實際上跟在this railsguide之後。表單上傳「undefined方法`[]'爲零:NilClass」
我使用的上傳表單下面的代碼:
<%= form_tag({ action: :upload }, multipart: true) do %>
<%= file_field_tag :picture %>
<%= submit_tag %>
<% end %>
這是我上傳方法:
def upload
uploaded_io = params[:customer][:picture] #erroneous line!!
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'w') do |file|
file.write(uploaded_io.read)
end
flash[:notice] = "File uploaded successfully!"
redirect_to root_path
end
我已經打上我相信這是錯誤的行第二個代碼片段。上傳方法只是從railsguide粘貼,我調整了params數組[:customer]。
當需要上傳文件,我得到這個錯誤:
undefined method `[]' for nil:NilClass
它指的是我上面標線。
我還發現this其他問題,但我還沒有想出如何可能幫助我。
我在做什麼錯?我的表單是錯的還是我的控制器方法?任何幫助讚賞。
我們展示你的'params'做這個,你控制器第一行'PARAMS .inspect'並與我們分享'params'的內容 – Viren