[英]ROR passing array as parameter
我正在嘗試將數組作為參數傳遞給我的控制器方法,但它對我不起作用。 我通過以下方式嘗試了它:
http://localhost:3000/med?med_ids=[2,1]
我也嘗試了以下方式,並為我工作。 我只是想知道任何好的解決方案
http://localhost:3000/manufacturer/1/medicines?medicine_id[]=2&medicine_id[]=1
內部控制器:
@val = params[:medicine_id]
值即將到來,但我想將其作為數組。
需要一些幫助。 謝謝。
您無法從查詢字符串中獲取數組,如下所示:
?med_ids=[2,1]
如果要在查詢字符串中傳遞數組,則需要按如下方式傳遞它(如您所提到的那樣):
?medicine_id[]=2&medicine_id[]=1
作為你的問題的答案:第二種方式絕對是好方法和正確方法。 去吧。
如果您嘗試發送[1,2]之類的參數,那么在您的控制器中,您會得到“[1,2]”,
你需要解析得到原始數組,如:JSON.parse“[1,2]”
ans:[1,2]和類Array
您可以選擇構建控制器來解析分隔數組:
?medicine_ids=1,2
控制器:
medicine_ids = params[:medicine_ids].split(',')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.