gpt4 book ai didi

ruby-on-rails - 如何使方法出现在所有 Controller 操作之前

转载 作者:行者123 更新时间:2023-12-04 03:05:58 24 4
gpt4 key购买 nike

我的 Rails 应用程序中有多个 Controller (UserController、PostController、SessionController 等...)

在所有的每个 Action 之前,我想使用 gon gem. 传递一个 json 对象

我已将这行代码添加到我的应用程序助手中:

module ApplicationHelper

...

def adding_gon
gon.signed_in = signed_in?
end
end

我还添加了 ApplicationHelper 以供所有 Controller 使用:

class ApplicationController < ActionController::Base
include ApplicationHelper
end

问题是现在我需要转到每个 Controller 并编写这行代码:

before_filter :adding_gon

将这行代码写入每个 Controller 是相当重复的。

有没有办法让这个方法在所有操作之前执行?

最佳答案

由于 Controller 通常继承自 ApplicationController,因此您不必为每个 Controller 都添加 before_filter。只需在 ApplicationController 的类定义中添加以下行,过滤器就会在所有子 Controller 的操作之前执行,除非您是从其他 Controller 继承的。

关于ruby-on-rails - 如何使方法出现在所有 Controller 操作之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12167777/

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