1

我有一个我正在尝试处理的多阶段表格。后期阶段之一需要使用前一阶段的数据集。我曾认为通过在实例变量中设置我需要的数据,例如

@gateway = importer.get_gateway

然后我可以在同一个控制器类的不同控制器方法中访问它,例如

Rails.logger.info "populate_devices : gateway is #{@gateway}"

但是,在日志@gateway中是nil表单提交的下一步。它应该工作吗,或者这不是将数据从一个控制器方法传递到同一控制器类中的另一个方法的正确方法? @gateway在上一步中肯定被设置为不在nil,因为我在 UI 上显示了它的一些字段并记录了它。

4

1 回答 1

4

我认为您应该将其存储在会话中,因为 Rails 是一种无状态技术。大小有限制,但前提是您选择使用 cookie 会话存储(最多 4k)。

如果您决定使用 ActiveRecord 会话存储或 memcached 存储,则没有限制。它们易于实施且速度快。

于 2013-01-13T20:27:45.150 回答