在我的命令的控制器,我正在做一個改變到另一個對象,更新訂單的屬性之前,像事務在控制器更新操作中何時開始?
def update
@order.organisation.something = @order.something
@order.organisation.save!
if @order.update_attributes(params[:order])
redirect_to @order
else
render :edit
end
end
原因是我需要的順序的前值(這裏所說的「事」)來更新組織在訂單收到新值之前組織
我認爲,當update_attributes由於無效屬性而出現故障時,組織的更改也會回滾,顯然情況並非如此。所以我的問題是:爲什麼這個變化不是「隱式」交易的一部分?我怎樣才能讓它成爲它的一部分?
你爲什麼儲蓄@ order.organisation?只需使用\ @ order.organisation.something = \ @ order.something和rails將在保存@order後自動保存組織。 – Kuldeep
我必須說我沒有意識到這一點......(在軌道上很新)任何建議閱讀這個?我想(讀)控制器啓動了一個隱式事務,它涵蓋了所有數據庫更改。不對? – Danny
是由於「自動保存關聯」? – Danny