簡體   English   中英

ROR傳遞數組作為參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM