我需要在我的Rails应用程序中使用update_column
来阻止回调运行。我有一个enum的ActiveRecord模型:
class Car < ActiveRecord::Base
enum state: [:not_used, :used]
end
在正常情况下(即我希望回调运行时)我可以使用类似的东西:
@car.update_attribute :state, :not_used
是否可以使用update_column
做类似的事情?
我正在使用 Rails 4.2
答案 0 :(得分:6)
update_column
无法识别符号作为枚举的变体。我认为您必须使用Car.states[:not_used]
代替:not_used
。像这样:
@car.update_column :state, Car.states[:not_used]