如何 create/update 来自服务对象的会话变量?
How can I create/update a session variable from a service object?
从控制器,我可以create/update一个会话变量。
def action
...
session[:var] = "success"
end
当我从同一控制器操作调用服务对象时,同一行代码无法更新服务对象内的同一会话变量。
def action
...
ServiceObject.new(@user).write
end
我收到此错误:
undefined local variable or method `session' for #<ServiceObject:########>
为什么?有没有办法从服务对象中更新会话变量?我想这样做,以便会话变量将根据 运行.
反映服务对象的状态
您可以存储服务对象作业 ID 并手动查找作业状态吗?您还可以在支持服务对象或某种作业的数据库中创建一条记录,并将该 ID 存储在会话中,偶尔获取并检查数据库记录的状态 属性。
从控制器,我可以create/update一个会话变量。
def action
...
session[:var] = "success"
end
当我从同一控制器操作调用服务对象时,同一行代码无法更新服务对象内的同一会话变量。
def action
...
ServiceObject.new(@user).write
end
我收到此错误:
undefined local variable or method `session' for #<ServiceObject:########>
为什么?有没有办法从服务对象中更新会话变量?我想这样做,以便会话变量将根据 运行.
反映服务对象的状态您可以存储服务对象作业 ID 并手动查找作业状态吗?您还可以在支持服务对象或某种作业的数据库中创建一条记录,并将该 ID 存储在会话中,偶尔获取并检查数据库记录的状态 属性。