'update_product', :id => @product.id}, :html => {:multipart => true}) do |f|-6ren">
gpt4 book ai didi

ruby-on-rails - Rails 文件上传错误 "undefined method ` original_filename' for nil :NilClass"

转载 作者:行者123 更新时间:2023-12-04 05:36:51 25 4
gpt4 key购买 nike

我有简单的上传表格:

<%= form_for(:product, :url => {:action => 'update_product', :id => @product.id}, :html => {:multipart => true}) do |f| %>
<%= f.file_field(:product_image) %>
<%= submit_tag('Upload') %>
<% end %>

在 Controller 中:
def update_product
product = Product.find(params[:id])
if(product)
uploaded_image = params[:product][:product_image]
params[:product][:product_image] = uploaded_image.original_filename
product.update_attributes(params[:product])
flash[:notice] = "Successfully updated!"
redirect_to :action => 'edit_product', :id => product.id
end
end

当我尝试上传时,出现错误“nil:NilClass 的未定义方法 `original_filename'”
我做错了什么?

我使用 Rails 3.0.10 和 Ruby 1.9.2p290

最佳答案

我的猜测是 params[:product][:product_image] 为零。

尝试使用 gem 进行文件上传。

来源

1.Paperclip

2.Carrierwave

关于ruby-on-rails - Rails 文件上传错误 "undefined method ` original_filename' for nil :NilClass",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com