在 Rails 3.2 应用程序中,我有一个咖啡脚本函数,该函数从具有“已选择”数据属性的元素返回 ID 号数组。
#view (pseudo code!)
<table id='elems_container' data-url=<%= my_path(@object%) >
<tr data-selected = 'true' data-id = '1'></tr>
<tr data-selected = 'true' data-id = '2'></tr>
<tr data-selected = 'false' data-id = '3'></tr>
<tr data-selected = 'true' data-id = '4'></tr>
</table>
#coffeescript
elems = $("tr[data-selected='true']").map(->
$(this).data "id"
).get()
$.ajax({ url: $('#elems_container').data('url'), dataType: "script", data: { 'selected_ids': elems } })
这将在日志中返回以下内容
Started GET "/my/path?selected_ids%5B%5D=1&selected_ids%5B%5D=2&selected_ids%5B%5D=4
我现在想在控制器中选择这些选定的 id
@collection = Model.where('id = ?', params[:selected_ids])
相反,这将返回所有模型,而不仅仅是参数中列出的模型。
获取 URL 是否正确,或者 params 数组看起来是否不同?我还有什么做错的?