gpt4 book ai didi

ruby-on-rails - 在同一 Controller 中的方法之间传递实例变量在 Rails 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:38 24 4
gpt4 key购买 nike

我有一个要处理的多阶段表单。后面的一个阶段需要使用前一阶段的数据集。我以为通过在实例变量中设置我需要的数据,例如

@gateway = importer.get_gateway

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

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

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

最佳答案

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

如果您决定使用 ActiveRecord session 存储或 memcached 存储,则没有任何限制。它们易于实现且速度很快。

关于ruby-on-rails - 在同一 Controller 中的方法之间传递实例变量在 Rails 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com