2016-11-21 74 views
1

我需要在我的Rails应用程序中使用update_column以阻止运行回调。我有我的ActiveRecord模型枚举:Rails - update_column和ActiveRecord枚举

class Car < ActiveRecord::Base 
    enum state: [:not_used, :used] 
end 

在正常情况下(即当我想的回调运行),我可以使用类似的东西:

@car.update_attribute :state, :not_used 

是否有可能做同样的事情与update_column

我使用的Rails 4.2

+0

我认为你必须到变种名'改变:new'到其他名字,因为它会导致引发ArgumentError。 – hibariya

回答

3

update_column不能识别符号枚举的变体。我认为你必须使用Car.states[:not_used]而不是:not_used。就像这样:

@car.update_column :state, Car.states[:not_used]