gpt4 book ai didi

ruby-on-rails - 自动将参数附加到 *_url 或 *_path 方法(Rails)

转载 作者:行者123 更新时间:2023-12-02 05:34:55 24 4
gpt4 key购买 nike

我有一组与我的一个 Controller 相关的特定 View ,我想通过它调用 *_path*_url附加一组参数。

是否有一些我可以覆盖的神奇方法可以让我这样做?我不知道 Rails 代码中的哪里 *_path*_url方法甚至被处理。

为清楚起见编辑:我正在寻找一种方法来做到这一点,这样我就不必在需要发生这种情况的每个 View 中修改每个链接。我不希望接触这组 View 的每个编码人员都必须记住将参数附加到他们添加到页面的每个链接。应自动附加相同的参数。我考虑更改 *_url*_path称为失败。同样,必须覆盖每个 *_url*_path调用被视为失败,因为每当添加/删除新链接时都必须添加/删除新方法。

最佳答案

您可以通过覆盖 url_for 来做到这一点。因为所有的路由方法都调用它。

module ApplicationHelper
def url_for(options = {})
options.reverse_merge!(@extra_url_for_options) if @extra_url_for_options
super
end
end

现在您需要做的就是使用 before_filter设置 @extra_url_for_options到哈希强制所有网址。
class MyController < ApplicationController
before_filter do { @extra_url_for_options = { :format => 'html' } }
end

请注意,这将强制所有链接使用额外选项。

关于ruby-on-rails - 自动将参数附加到 *_url 或 *_path 方法(Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216906/

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