簡體   English   中英

Rails將Javascript數組轉換為Hash?

[英]Rails converting Javascript array to Hash?

我用JS將其發送到rails:

[{name: "Jon"}, {name: "Jane"}]

我希望Rails / Ruby可以將其解釋為相同的結構,但可以將其轉換為如下所示的哈希值:

{ "0" => {"name" => "Jon"}, "1" => {"name" => "Jane"} }

知道為什么會發生這種情況,或如何預防嗎?

您實際上不是在發送[{name: "Jon"}, {name: "Jane"}] ,而是在發送"[{name: "Jon"}, {name: "Jane"}]"所以rails將其轉換為其他內容,否則您將需要進行一些麻煩的正則表達式以獲取所需的數據。 因此,Rails會為您將其轉換為HashWithIndifferentAccess對象 我非常懷疑您是否想破解Rails的內部結構,那么為什么不只按照Rails呈現代碼的方式解析您的代碼,而不是將其強制轉換為另一種格式?

這是正確的行為。 如果您有興趣將Array作為參數發送,則必須使用some_field_name[]類型的字段,而不是JavaScript中的簡單“ field_name”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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