Rails 3.1查找通过AJAX发送的ID数组过滤的记录

时间:2011-11-26 07:53:32

标签: ruby-on-rails ruby activerecord many-to-many

我有两张桌子:项目和用品。项目有很多供应,如:

has_many :supplies, :through => :project_supplies, :foreign_key => :supply_id

我要做的一件事是根据供应ID的数组选择项目。我可以使用以下内容轻松地在rails控制台中执行此操作:

Project.find(:all, :joins => :supplies, :conditions => {:supplies => {:id => [17,18]}})

有点像Rails noob,我似乎无法弄清楚如何将该数组作为参数发送,和/或在后端序列化它。

我正试图以铁路理解的方式“GET http://0.0.0.0:3000/projects?supply_ids=[17,18]”。

这是我应该如何发送阵列?如果是这样,我如何以数组形式进入条款子句?

我还应该提到我正在使用Rails 3.1和backbone.js。 get请求将来自骨干fetch()函数,它接受像$ .ajax一样的“数据”选项。我已经在前端构建了阵列。

总而言之,我的问题是:JavaScript数据对象属性到底应该是什么,以及如何将其连接到控制器模型的find函数,如上所示?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您在网址字符串中存在错误的数组格式: 使用:

GET http://0.0.0.0:3000/projects?supply_ids[]=17&supply_ids[]=18

相关主题: passing arrays as url parameter