Ruby on rails aasm轨道中的零状态
我的问题有两部分Ruby on rails aasm轨道中的零状态,ruby-on-rails,ruby,ruby-on-rails-4,aasm,Ruby On Rails,Ruby,Ruby On Rails 4,Aasm,我的问题有两部分 如何将nil定义为任何状态机的初始状态 如何将任何状态转换为零 如果我们这样做,那么它会将“nil”保存为值notnull aasm(:aasm_state, column: :status) do state :nil, initial: true state :state1, :state2, :state3, :state4 event :change_state do transitions from: :state1, to: :state2
aasm(:aasm_state, column: :status) do
state :nil, initial: true
state :state1, :state2, :state3, :state4
event :change_state do
transitions from: :state1, to: :state2
end
end
我如何修改下面的代码来完成上述两项或其中一项
aasm(:aasm_state, column: :status) do
state :state1, :state2, :state3, :state4
event :change_state do
transitions from: :state1, to: :state2
end
end
我没有看到文档中提到的内容。。。但是我不认为这是可行的,因为
aasmgem
根据状态添加了各种方法/事件。因此,例如job.nil?
可能会与job.nil产生冲突
会出错为什么要使用nil
作为有效状态?对于那个状态,没有更好的名称了吗?比如new
,initial
,pending
,等等?@spickermann我需要将模型中的任何属性(比如x)设置为null,如果它满足给定的条件,但即使我更新了同一模型的任何其他属性(比如y),那么属性x也会使用初始状态进行更新。我想阻止属性x的更新。@shubhamsaxena你知道吗?我有一个类似的用例,希望看到您的解决方案。