我正在尝试将数组作为参数传递给我的控制器方法,但它对我不起作用。我尝试了以下方式:
http://localhost:3000/med?med_ids=[2,1]
我也尝试了以下方式,并为我工作。我只是想知道任何好的解决方案
http://localhost:3000/manufacturer/1/medicines?medicine_id[]=2&medicine_id[]=1
控制器内部:
@val = params[:medicine_id]
值即将到来但我希望将其作为数组。
需要一些帮助。谢谢。
答案 0 :(得分:5)
你不能从这样的查询字符串中获取数组:
?med_ids=[2,1]
如果你想在查询字符串中传递一个数组,你需要按照以下方式传递它(如你所提到的那样):
?medicine_id[]=2&medicine_id[]=1
作为你问题的答案:第二种方式绝对是好方法和正确方法。跟着它。
答案 1 :(得分:1)
如果您尝试发送[1,2]之类的参数,那么在您的控制器中,您将会得到像#34; [1,2]",
你需要解析get in original数组,如: JSON.parse" [1,2]"
ans:[1,2]和类Array