我正在尝试让客户放置Order
,当他们放置Order
时,status: uncompleted
数据库条目中会有Order
。
Worker
可以声明其中一个Order
并开始Job
。当Worker
采用Order
并将其设为Job
时,我正在尝试设置Order
状态status: inprogress
和Job
状态{ {1}}然后当status: inprogress
完成Worker
时,Job
状态应为Order
,status: completed
状态为Job
。
我想知道我是否设置了我的模型关系,以便在status: completed
创建{status
时能够更改Order
Job
和Worker
的正确方法{1}}在PostgreSQL数据库中。
我的模型设置如下:
worker.rb
Job
order.rb
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :jobs
job.rb
belongs_to :job
答案 0 :(得分:0)
您可以使用sql triggers或ActiveRecord callbacks来实现此类功能。特别是after_update callback。这个想法是当你更新某些代码执行的记录数据时。
或者您可以使用状态机宝石来管理您的状态。例如,AASM gem内置了回调函数,这些函数在状态发生变化时执行。