2010-02-15 24 views
0

我想更新記錄。我正在使用下面的代碼。如何在ActiveRecord更新條件

Proddiscount.update({:prodid => params[:id]}, {:discount=>params[:discount]}) 

查詢我試着去擁有的是:

update proddiscount set discount = '' where prodid = '' 
+1

Prodid你是主鍵嗎?或者有'prodid = some_id'的許多proddiscounts? – klew 2010-02-15 10:00:06

回答

-1

如何這樣做:

@prod = Proddiscount.find(:first, :conditions => {prodid => params[:id]}) 
@prod.update_attributes({:discount=>params[:discount]}) 
+0

它有點取決於什麼「prodid」,就像問@klew – marcgg 2010-02-15 10:08:42

0

如果prodif是不是主鍵,使用update_all(閱讀更多here

Proddiscount.update_all("discount = #{params[:discount]}", ["prodid = ?", params[:prodid]) 

但它不會觸發驗證。