我在我的应用程序控制器中定义了我的标题所需的一些变量。但我想为我的AJAX请求禁用它。所以我想知道是否可以为所有PATCH请求禁用before操作。就像下面的例子一样
的ApplicationController:
before_action :some_value, except: PATCH method
def some_value
@main_group = current_user.groups.first
@groups = current_user.groups - @main_group
end
答案 0 :(得分:6)
要检查该请求是否为AJAX请求,您可以使用request.xhr?
方法。请参阅Rails API doc
要在before_action
中使用它,您可以编写如下内容:
before_action :some_value, unless: -> { request.xhr? }
答案 1 :(得分:0)
不知道是否有办法在before_action
声明中定义,但您猜测可以查看request.patch?
的方法,如下所示:
def some_value
if !request.patch?
@main_group = current_user.groups.first
@groups = current_user.groups - @main_group
end
end
希望这会有所帮助,祝你好运