以下是我在Coffeescript中所做的事情:
good_docs = []
$('#documents_yes a').each (index) ->
good_docs.push parseInt($(@).data('id'))
$('.hidden-docs').val(good_docs) #this is a hidden field
问题是数组会以["1, 2, 3"]
的形式传递给我的rails应用,但我需要它以[1, 2, 3]
的形式传入。
我该怎么做?我认为parseInt
调用会处理它。
答案 0 :(得分:2)
你不能直接。 Javascript是字符串连接数组,就像JSON一样。在我看来,更简单的方法是获取该字符串并将其转换为Rails端的数组,如下所示:
$('.hidden-docs').val(good_docs.join())
这会让你' 1,2,3'在隐藏的领域。现在拆分并转换为Rails中的数字:
"1,2,3".split(',').map(&:to_i)
那会得到你:[1, 2, 3]
答案 1 :(得分:-1)
尝试在控制器上使用eval。
eval(params[:hidden_docs])