gpt4 book ai didi

ruby-on-rails - 从模块访问 session 变量或 Controller 变量

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:02 28 4
gpt4 key购买 nike

使用:Rails 3.0.3

我的网站 (count calculate . com) 具有此功能,其中包含大量不同的计算。用户可以通过表单为小数(有效数字)设置自己的变量。首先,我将此变量设置为 configatron 变量,结果证明这是一个坏主意(某些用户所做的更改已传递给所有用户)。

因此,我决定将其作为一个 session 变量,这是有道理的,因为用户应该选择他自己的十进制值。

现在,在 Controller 中我调用了一个模块函数,该函数又调用了 100 个不同的模块函数,具体取决于 id。

我的问题:

我想在那个模块中访问这个 session 变量,结果证明这是不可能的。已经从 Controller (通过模型)传递它有点像噩梦,因为它需要为每个函数传递。

所以:

  1. 如何从 lib-catalog 中的模块访问 session 变量?
  2. 如何从模块访问 Controller 方法?如果是这样,我可以调用该方法并获取 session 变量。

最佳答案

你是说 ruby​​ 模块吗?就像在混合中一样?如果你将它包含在你的 Controller 中,它已经可以访问 Controller 可以访问的所有内容。只需调用 sessionrequestparams 等即可正常工作。

如果您真的需要从系统的任意部分获取 session ,您可以通过以下方式获取请求:

ActionDispatch::Request.new(ENV)

然后就可以从请求中获取session了。 (请注意,request 实际上是伪装的单例...如果已经构建,它不会构建新的请求)。

关于ruby-on-rails - 从模块访问 session 变量或 Controller 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860297/

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