Rails 3.1 находит записи, отфильтрованные по массиву идентификаторов, отправленных через AJAX - PullRequest
0 голосов
/ 26 ноября 2011

У меня есть две таблицы: проекты и материалы. Проекты имеют много поставок, как это:

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

Одна вещь, которую я пытаюсь сделать, это выбрать проекты на основе массива идентификаторов поставок. Я могу сделать это в консоли rails довольно легко с помощью следующего:

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

Будучи нубом из Rails, я не могу понять, как можно отправлять этот массив в качестве параметра и / или сериализовать его в серверную часть.

Я пытаюсь сделать это "ПОЛУЧИТЬ http://0.0.0.0:3000/projects?supply_ids=[17,18]" таким образом, чтобы рельсы понимали.

Так я должен отправить массив? Если так, как я могу получить это в условии условия в виде массива?

Я должен также упомянуть, что я использую Rails 3.1 и backbone.js. Запрос get поступит от функции backbone fetch (), которая принимает опцию «data», как $ .ajax. У меня уже есть массив, построенный на внешнем интерфейсе.

Подводя итог, мой вопрос заключается в следующем: что именно должно входить в атрибут объекта данных JavaScript и как мне связать его с функцией поиска модели контроллера, как показано выше?

Заранее спасибо.

1 Ответ

1 голос
/ 26 ноября 2011

У вас неверный формат массива в строке URL: Использование:

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

Тема по теме: передача массивов в качестве параметра url

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...