gpt4 book ai didi

ruby-on-rails - 禁用特定操作的强参数

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

我对强参数有一个严重的问题。它在我的大约 200 个 Action 中工作得很好,但在一个 Action 中却没有,因为我在那里使用参数非常动态,而且由于应用程序设计,我也无法更改它。

所以我想在这个特定的操作中禁用强参数验证。有没有办法做到这一点?

最佳答案

强参数覆盖 params ActionController::Base 中的方法.您可以简单地覆盖它并将其设置回您自己想要的。

所以这:

class MyController < ApplicationController
def params
request.parameters
end
end

将有效地禁用 Controller 中所有操作的强参数。您只想为特定操作禁用它,因此您可以通过以下方式执行此操作:
class MyController < ApplicationController
before_action :use_unsafe_params, only: [:particular_action]

def params
@_dangerous_params || super
end

def particular_action
# My params is unsafe
end

def normal_action
# my params is safe
end

private

def use_unsafe_params
@_dangerous_params = request.parameters
end
end

关于ruby-on-rails - 禁用特定操作的强参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30509682/

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