gpt4 book ai didi

ruby-on-rails - 如何从Rails Controller 中混合并调用link_to?

转载 作者:行者123 更新时间:2023-12-03 06:00:48 25 4
gpt4 key购买 nike

这似乎是一个菜鸟问题,但简单的答案却让我难以理解。我需要在 ActionController 方法中调用 link_to 来吐出 HTML 链接。 ActionView::Helpers::UrlHelper.link_to 调用 url_for,但这会调用 AV 模块的版本而不是 Controller 的版本。我设法强制它做我想要做的事情

  #FIXME there must be a better way to mixin link_to
alias_method :self_url_for, :url_for
include ActionView::Helpers::UrlHelper
alias_method :url_for, :self_url_for

在 Controller 中。但是,我仍然不确定它为什么有效。有人可以解释一下这里发生的方法范围和隐藏吗?有什么更好的方法来混合 link_to (或者一般来说,只包含模块中的一些方法),以便我可以在 Controller 中调用它(用例是生成带有链接的 Flash 字符串。)

请不要进行有关 MVC 的讲座 - 如果有的话,link_to 应该位于与 url_for 分开的模块中。从这方面的噪音来看,很多人都遇到了这个看似微不足道的障碍,最终浪费了一个小时以“Rails 方式”完成它,而真正需要的是一分钟的破解来让我的应用程序现在运行。是否有一种“Rails 方式”可以通过助手来完成此操作?或者更好的 ruby 方式?

最佳答案

与 Rails 3,4 和 5 兼容:

view_context.link_to

关于ruby-on-rails - 如何从Rails Controller 中混合并调用link_to?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3843509/

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