在我的应用程序中,我通过指定用户对象将进入updated_state的一些信息来拥有用户模型。一周之后,我想要我的对象进入updated_state的日期。而且我想每周使用这个值。(增加他们的工作时间。)没有在数据库中存储值如何实现这个?
state_machine :state, :initial => :not_initialized do
state :not_initialized, :initialized_personal_details, :initialized_office_details,
:updated_state
event :finish_personal_details do
transition :not_initialized => :initialized_personal_details
end
event :start_office_details do
transition :initialized_personal_details => :initialized_office_details
end
event :finish_office_details do
transition :initialized_office details => :updated_state
end
答案 0 :(得分:1)
您不能在不将数据存储到某处的情况下使用持久数据(即会话中未使用的数据)。你有多种选择:
将它们存储在数据库中。似乎是最合理的选择。您可以将它们存储在对象中,也可以创建不同的表/数据库
将它们存储在不同的数据存储中。为什么不使用redis,可以成为普通数据库的一个很好的补充,具有一些很好的功能。
将其存储在内存中。复杂而不推荐,特别是如果你想成为"防撞"
其他选项:文件,消息队列,.....
如果不确切知道为什么需要这个,以及数据库无法使用的原因,那就是我能说的最好的
答案 1 :(得分:0)
我使用attr_accessor解决了这个问题。