2012-09-11 28 views
0

我在我的编辑页面有两个字段1.域名2.logo 当我点击提交按钮时,所选图片和域名应该更新表 我试了下面,但不更新数据库。使用轨道上的红宝石将图像文件上传到blob列

<%= form_for(@company, :multipart => true) do |form| %> 
<table style="height: 400px; border: 5px; margin-left: 20px; "> 
<tr> 
     <td width="40%"> 
      <%= form.label :domain_name ,"Domain Name"%> 
     </td> 
     <td> 
      <%= form.text_field :domain_name %><%= form.submit "Add Domain" %> 
     </td> 
    </tr> 
<tr> 
     <td> 
      <%= form.label :company_logo,"Company Logo" %> 
     </td> 
      <td> 
       <%= form.file_field :company_logo %> 
      </td> 
    </tr> 
    </table> 

In controller 
def update 
    @company=Company.find_by_company_id(params[:id]) 
    if @company.update_attributes(params[:company]) then 
     render :text=>"Company Details updated successfully" 
    end 
end 
+0

没有任何理由来保存图像中的斑点? – Amar

回答

1

是否有任何理由将图像保存为blob?您可以使用paperclipcarrierwave gem上传文件。

可能是它没有更新BLOB,因为它需要原始数据,它可能是临时文件 试试这个

company_logo_blob = params[:company][:company_logo].read #or params[:company][:company_logo].tempfile.read  

@company.update_attributes(:domain_name =>params[:company],:company_logo=>company_logo_blob) 
+0

谢谢。有效。我几乎花了4个小时。非常感谢 – Vish

+0

由于图像文件需要更多的内存,我选择blob类型。没有其他原因。这么晚才回复很抱歉。 – Vish