Rails"行动"扼杀了关键冲突

Jer*_*ock 7 ruby ruby-on-rails actioncontroller

我正在构建一个包含各种CRUD端点的RESTful Rails服务.在其中一个Create端点上,我传入的数据包括:

...
action: "action_name"
...
Run Code Online (Sandbox Code Playgroud)

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

有没有其他方法来访问我传递的这个键?我做了一些公然愚蠢的事吗?

apn*_*ing 7

使用它很尴尬,但如果它是必需的,你可以使用以下方式获取信息:

 request.POST
Run Code Online (Sandbox Code Playgroud)


张健健*_*张健健 5

是的你可以。根据如何在控制器中不使用Rails操作参数,您可以通过以下方式获取它:

if request.method == "POST"
  action = request.request_parameters['action']
else
  action = request.query_parameters['action']
end
Run Code Online (Sandbox Code Playgroud)