轨道上的红宝石 - 确定从视图传递到控制器的参数的来源



在我的ApplicationController父类中,我有一个名为dig的操作方法,它通过类似params[]哈希结构读取参数。 我希望有任何视图通过link_to辅助函数构建指向任何控制器的链接,该函数具有首先调用父级操作的dig操作。 然后,我希望能够确定参数化信息表示的内容(其类型)或创建链接的内容(上一个或原始视图)。

关于最佳方法的任何想法? 有没有办法通过link_to传递对象,然后使用其元数据? 如果是这样,这会打破轨道范式吗?

如果你正在寻找代码中所谓的内容,Ruby 的 caller 方法是发生异常时发生的堆栈转储的基础。你可以利用这一点,并在任何时候询问调用链是什么。

如果您想从外部站点跟踪来自浏览器的传入请求,则变得更加困难,因为浏览器不再喜欢显示最后一个位置。如果浏览器在您自己的网站上被重定向,您可以使用会话或 cookie 来跟踪其移动。

我认为要拥有原始链接,您需要做的是这样的:

request.env['HTTP_REFERER']

这将获取发起操作的 URL,从那里您可以处理 URL 以获取控制器、操作和 ID。 希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新