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
请参阅以下内容: