我想用carrierwave将文件更新为现有的rails记录

时间:2015-10-08 00:04:24

标签: ruby-on-rails-3 ruby-on-rails-4 file-upload carrierwave

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

表格

<%= 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%>

控制器

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

0 个答案:

没有答案