2012-09-11 65 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