Ruby on rails 3 我想用carrierwave将文件更新为现有rails记录

Ruby on rails 3 我想用carrierwave将文件更新为现有rails记录,ruby-on-rails-3,ruby-on-rails-4,file-upload,carrierwave,Ruby On Rails 3,Ruby On Rails 4,File Upload,Carrierwave,我有一个表单,要求用户上传一个文件。要上传的文件应该保存到现有记录中。当用户上载此文件时,我不希望立即保存它(因为它将创建新记录),我希望访问控制器中的参数,并将图像属性更新到现有记录。当前,当我访问参数和更新_属性时,它显示为已更新,但当我查看数据库时,图像属性仍然为零。当我直接保存为新记录时,它工作正常,但它不允许我手动更新,有人能帮我吗? 先谢谢你 表格 <%= form_tag url_for(:controller=>"deal",:action=>"create_d

我有一个表单,要求用户上传一个文件。要上传的文件应该保存到现有记录中。当用户上载此文件时,我不希望立即保存它(因为它将创建新记录),我希望访问控制器中的参数,并将图像属性更新到现有记录。当前,当我访问参数和更新_属性时,它显示为已更新,但当我查看数据库时,图像属性仍然为零。当我直接保存为新记录时,它工作正常,但它不允许我手动更新,有人能帮我吗? 先谢谢你

表格

<%= form_tag url_for(:controller=>"deal",:action=>"create_deal"),:method=>'get',:html=>{:multipart=>true}  do  %>
       <%= file_field_tag :image, :value=> params[:image] %>

       <%= submit_tag "upload" %>

       <%end%>

我假设你传递的是一个id,而不是:last e_record=Deal.find(:last)@Rakesh是的,我传递的是id,但记录得到更新,而不是图像字段为零。
def create_deal
    @attachment = params[:image]
    e_record = Deal.find(:last) #get existing record
    if e_record.update_attribute(:image, @attachment)
       redirect_to :action=>"profile"
    end
end