Ruby on rails 使用状态机gem的Bug-状态变量返回nil
当我在做Ruby on rails 使用状态机gem的Bug-状态变量返回nil,ruby-on-rails,ruby,ruby-on-rails-4,state-machine,Ruby On Rails,Ruby,Ruby On Rails 4,State Machine,当我在做 d = Design.find_by(id: 1111, state: 'in_stock') 我得到了一个完美的结果,这意味着数据库记录具有保存/存储为库存状态的值 但当我这么做的时候 d.state => nil 我使用gem实现状态机 class Design < ActiveRecord::Base state_machine initial: :sold_out do event :stock_added do transition [:proc
d = Design.find_by(id: 1111, state: 'in_stock')
我得到了一个完美的结果,这意味着数据库记录具有保存/存储为库存状态的值
但当我这么做的时候
d.state => nil
我使用gem实现状态机
class Design < ActiveRecord::Base
state_machine initial: :sold_out do
event :stock_added do
transition [:processing, :sold_out, :seller_out_of_stock, :blocked,
:banned, :review, :on_hold, :reject] => :in_stock
end
event :stock_removed do
transition [:blocked, :in_stock, :sold_out] => :seller_out_of_stock
end
before_transition to: :in_stock do |design|
design.last_in_stock = Time.now
if design.designer.vacation?
design.designer_vacation
false
end
end
end
end
类设计:库存
结束
事件:库存已删除吗
转换[:冻结,:库存中,:售出]=>:卖家库存中
结束
在转换到::库存设计之前|
design.last\u in\u stock=Time.now
如果设计、设计师、度假?
设计·设计师·度假
假的
结束
结束
结束
结束
您是否尝试过d=Design.find'111
d.stock\u added
或d.stock\u added
d.reload
d.state
参考此:您是否尝试了d=Design.find'111
d.stock\u添加了或d.stock\u添加了代码>d.reload
d.state
请参阅以下内容: