nil*_*ash 5 arrays ruby-on-rails parameter-passing
我正在尝试将数组作为参数传递给我的控制器方法,但它不适用于我.我通过以下方式尝试了它:
http://localhost:3000/med?med_ids=[2,1]
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下方式,并为我工作.我只是想知道任何好的解决方案
http://localhost:3000/manufacturer/1/medicines?medicine_id[]=2&medicine_id[]=1
Run Code Online (Sandbox Code Playgroud)
内部控制器:
@val = params[:medicine_id]
Run Code Online (Sandbox Code Playgroud)
值即将到来,但我想将其作为数组.
需要一些帮助.谢谢.
您无法从查询字符串中获取数组,如下所示:
?med_ids=[2,1]
Run Code Online (Sandbox Code Playgroud)
如果要在查询字符串中传递数组,则需要按如下方式传递它(如您所提到的那样):
?medicine_id[]=2&medicine_id[]=1
Run Code Online (Sandbox Code Playgroud)
作为你的问题的答案:第二种方式是绝对好方法和正确的方法.去吧.
小智 3
如果您尝试发送像[1,2]这样的参数,那么在您的控制器中您将得到像“[1,2]”,
并且您需要解析原始数组中的 get ,例如: JSON.parse "[1,2]"
ans: [1,2] 和类数组
| 归档时间: |
|
| 查看次数: |
2770 次 |
| 最近记录: |