在我的ApplicationController
父类中,我有一个名为dig
的操作方法,它通过类似params[]
哈希结构读取参数。 我希望有任何视图通过link_to
辅助函数构建指向任何控制器的链接,该函数具有首先调用父级操作的dig
操作。 然后,我希望能够确定参数化信息表示的内容(其类型)或创建链接的内容(上一个或原始视图)。
关于最佳方法的任何想法? 有没有办法通过link_to
传递对象,然后使用其元数据? 如果是这样,这会打破轨道范式吗?
如果你正在寻找代码中所谓的内容,Ruby 的 caller
方法是发生异常时发生的堆栈转储的基础。你可以利用这一点,并在任何时候询问调用链是什么。
如果您想从外部站点跟踪来自浏览器的传入请求,则变得更加困难,因为浏览器不再喜欢显示最后一个位置。如果浏览器在您自己的网站上被重定向,您可以使用会话或 cookie 来跟踪其移动。
我认为要拥有原始链接,您需要做的是这样的:
request.env['HTTP_REFERER']
这将获取发起操作的 URL,从那里您可以处理 URL 以获取控制器、操作和 ID。 希望这有帮助!