Ruby on rails Rails文件上载错误“nil:NilClass的未定义方法`original_filename'”
我有简单的上传表格:Ruby on rails Rails文件上载错误“nil:NilClass的未定义方法`original_filename'”,ruby-on-rails,file,upload,Ruby On Rails,File,Upload,我有简单的上传表格: <%= form_for(:product, :url => {:action => 'update_product', :id => @product.id}, :html => {:multipart => true}) do |f| %> <%= f.file_field(:product_image) %> <%= submit_tag('Upload') %> <% end %> 当我
<%= form_for(:product, :url => {:action => 'update_product', :id => @product.id}, :html => {:multipart => true}) do |f| %>
<%= f.file_field(:product_image) %>
<%= submit_tag('Upload') %>
<% end %>
当我尝试上载时,对于nil:NilClass,我有一个未定义方法“original_filename”的错误
我做错了什么
我使用Rails 3.0.10和Ruby 1.9.2p290,我猜params[:product][:product_image]为零 尝试使用gem上传文件 来源
我有过这种症状,但时断时续。有时浏览器chrome似乎没有从“选择文件”对话框中选择文件。有一次,我看到在对话框中双击一个文件后,花了几秒钟时间才在浏览器窗口中显示为所选文件。我想如果你在文件被有效选择之前点击“提交”,那么你会得到这个错误
<h2>Choose file to upload ...</h2>
<%= form_tag({:action => :sched_file_uploader}, :multipart => true) do %>
<%= file_field_tag 'schedfile' %>
</br></br>
<%= text_area_tag(:file_info, "<care to say anything about this file?>", :size => "24x6") %>
</br></br>
<input name="upload" type="submit" value="Upload" />
<% end %>
请删除此行:
params[:product][:product_image] = uploaded_image.original_filename
def update_product
product = Product.find(params[:id])
if(product)
uploaded_image = params[:product][:product_image].original_filename
product.update_attributes(params[:product])
flash[:notice] = "Successfully updated!"
redirect_to :action => 'edit_product', :id => product.id
end
end
params[:product][:product_image] = uploaded_image.original_filename
def update_product
product = Product.find(params[:id])
if(product)
uploaded_image = params[:product][:product_image].original_filename
product.update_attributes(params[:product])
flash[:notice] = "Successfully updated!"
redirect_to :action => 'edit_product', :id => product.id
end
end