通常,我们使用的是:

 params[:a] #to get a specific parameter's value

但是如何像在PHP中那样获取所有参数呢?

  $_GET or $_POST

推荐答案

您可以简单地使用params作为所有传递参数(GET和POST)的散列.

例如:

params.each do |key,value|
  Rails.logger.warn "Param #{key}: #{value}"
end

更新:请注意,params项包括类别参数:

  • 路径参数(绑定在路由中)
  • 查询参数(GET)
  • 请求参数(POST)

如果只想访问特定类别的参数,可以使用:

request.path_parameters

request.query_parameters # or
request.GET

request.request_parameters # or
request.POST

所有方法都返回HashWithIndifferentAccess,因此您可以通过字符串或符号键访问它们.

Ruby-on-rails相关问答推荐

方法和括号之间没有空格时出错

在URL中将下划线更改为连字符Ruby on Rails

Rails6.1|有没有一种方法可以判断哪些关联已经加入到一个范围中?

一对多关联 counter_cache 在 Rails 中无法正确重新加载

Ruby:如何通过谓词将一个集合拆分为 ruby​​ 中的两个集合?

多行与内联块之间的不同行为

Rails 7 应用程序 - 引用模型文件时出现未初始化常量错误

NameError:未定义的局部变量或方法记录器

Rails 将字符串与视图中的变量连接的最佳方法

Rails:包含多态关联

Rails 和 OS X:如何安装 rmagick?

如何在 routes.rb 中使用 301 或 302 进行重定向

如何在我的 Gemfile 中找到未使用的Ruby

使用 oauth 和 twitter ruby​​ gem 时不断收到 OAuth::Unauthorized 错误

如何使用 Ruby 在现有 PDF 上编辑或书写?

测试:如何在不损失速度的情况下专注于行为而不是执行?

:javascript haml 标签中的内联Ruby ?

获取完整的 rails 控制器名称,包括命名空间

ActiveModel::MissingAttributeError:无法使用 FactoryGirl 写入未知属性ad_id

如何在 Rails 4 中测试控制器关注点