Rails "action" 参数键冲突

Rails "action" params key conflict

我正在构建具有各种 CRUD 端点的 RESTful Rails 服务。在创建端点之一上,我传递的数据包括:

...
action: "action_name"
...

我遇到的问题是 params[:action] 包含 "create",而不是我传入的 action 参数的实际值。我认为这是因为 params[:action] 由 Rails 自动填充。

还有其他方法可以访问我传递的这个密钥吗?我是不是在做一些明显愚蠢的事情?

使用这个很尴尬,但如果需要,您可以使用以下方式获取信息:

 request.POST

是的,你可以。根据 How to not use Rails action parameter in controller ,可以通过:

if request.method == "POST"
  action = request.request_parameters['action']
else
  action = request.query_parameters['action']
end