如何通过 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/