ruby-on-rails - 通过 get in rails 传递参数数组

标签 ruby-on-rails http

如何通过 Rails 中的 Get 方法传递参数数组?目前我的网址是这样的:

http://localhost:3000/jobs/1017/editing_job_suites/1017/editing_member_jobs/new?ids[]=1025&ids[]=1027

如何使用 Get 方法传递数组但避免 ?ids[]=1025&ids[]=1027 部分。

正在使用 javascript window.open 方法发送请求。有没有发送 ajax Post 请求的解决方法。

最佳答案

如果您不更改任何状态,并且只想访问只读值,则应坚持使用 GET 请求。

要在 GET 请求中将一组 ID 发送到 Rails,只需在末尾用方括号命名您的变量即可。

//angular snippet

$http.(method:'GET',
  ...
  params: {'channel_id':2, 'product_ids[]': productIds}  
  //where productIds is an array of integers
  ...
)

不要将您的 ID 连接为逗号分隔列表,只需冗余地单独传递它们。所以在 url 中它看起来像这样:

?channel_id=2&product_ids[]=6900&product_ids[]=6901

url编码后实际上会更像这样:

?channel_id=2&product_ids%5B%5D=6900&product_ids%5B%5D=6901

Rails 会为您将其分离出来。

Parameters: {"channel_id"=>"2", "product_ids"=>["6900", "6901"]}

关于ruby-on-rails - 通过 get in rails 传递参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312930/

相关文章:

java - 请求不使用 PersistentCookieStore 中保存的 cookie

ruby-on-rails - #<ActionDispatch::Http::UploadedFile:0x007fae8c0bfaa8> 的未定义方法 `[]'

ruby-on-rails - CanCan gem |不能 :index, 用户

ruby-on-rails - 安装bcrypt(3.1.11)时发生错误,并且Bundler无法继续。

javascript - 终止 Node.js 服务器请求的正确方法是什么?

http - 从内部 Observable 获取事件

c - 如何为我的 HTTP 服务器指定请求超时?

用于测试 HTTP 响应代码和时间的 iOS App

ruby-on-rails - 如何在Ruby中正确使用inject方法

ruby-on-rails - 如何在生产中运行 Rails Web 控制台?